diff --git a/doc/version_from_git.py b/doc/version_from_git.py
index 67cbcb3f8728b1596f25410818057e565a068427..2964f6d1ca8abfc1f3fd3cf3c5eeda21c1d00454 100644
--- a/doc/version_from_git.py
+++ b/doc/version_from_git.py
@@ -18,17 +18,20 @@ def version_number_from_git(tag_prefix='release/', sha_length=10, version_format
 
     version_strings = get_released_versions()
     version_strings.sort(key=StrictVersion)
-    latest_release = version_strings[-1]
-    commits_since_tag = subprocess.getoutput('git rev-list {}..HEAD --count'.format(tag_from_version(latest_release)))
-    sha = subprocess.getoutput('git rev-parse HEAD')[:sha_length]
-    is_dirty = len(subprocess.getoutput("git status --untracked-files=no -s")) > 0
+    if len(version_strings) > 0:
+        latest_release = version_strings[-1]
+        commits_since_tag = subprocess.getoutput('git rev-list {}..HEAD --count'.format(tag_from_version(latest_release)))
+        sha = subprocess.getoutput('git rev-parse HEAD')[:sha_length]
+        is_dirty = len(subprocess.getoutput("git status --untracked-files=no -s")) > 0
 
-    if int(commits_since_tag) == 0:
-        version_string = latest_release
-    else:
-        next_version = increment_version(latest_release)
-        version_string = version_format.format(version=next_version, commits=commits_since_tag, sha=sha)
+        if int(commits_since_tag) == 0:
+            version_string = latest_release
+        else:
+            next_version = increment_version(latest_release)
+            version_string = version_format.format(version=next_version, commits=commits_since_tag, sha=sha)
 
-    if is_dirty:
-        version_string += ".dirty"
-    return version_string
+        if is_dirty:
+            version_string += ".dirty"
+        return version_string
+    else:
+        return "development"
diff --git a/setup.py b/setup.py
index 3b200addd2fe72e6df81551880633a12571b9bde..50950ea62bf862668cd9205852cc2f8902c5ed5c 100644
--- a/setup.py
+++ b/setup.py
@@ -59,12 +59,18 @@ def readme():
 
 def cython_extensions(*extensions):
     from distutils.extension import Extension
-    ext = '.pyx' if USE_CYTHON else '.c'
-    result = [Extension(e, [e.replace('.', '/') + ext]) for e in extensions]
     if USE_CYTHON:
+        ext = '.pyx'
+        result = [Extension(e, [os.path.join(*e.split(".")) + ext]) for e in extensions]
         from Cython.Build import cythonize
         result = cythonize(result, language_level=3)
-    return result
+        return result
+    elif all([os.path.exists(os.path.join(*e.split(".")) + '.c') for e in extensions]):
+        ext = '.c'
+        result = [Extension(e, [os.path.join(*e.split(".")) + ext]) for e in extensions]
+        return result
+    else:
+        return None
 
 
 try: