Commits

evhan committed 3d5299e

produce object files and an archive for static linking

Comments (0)

Files changed (1)

            (car *required-chicken*))
   (exit 1))
 
-(compile -s -O2 -d0 -J -lgit2 git-lolevel.scm)
-(compile -s -O2 -d0 -J -lgit2 git.scm)
-(compile -s -O3 -d0 git-lolevel.import.scm)
-(compile -s -O3 -d0 git.import.scm)
-
 ;; Verify the libgit2 version.
 ;;
 ;; If pkg-config is available, consult it first.
            (car *required-libgit2*))
   (exit 1))
 
+;; Shared libraries.
+(compile -sJ -O3 -d0 git-lolevel.scm -lgit2)
+(compile -sJ -O3 -d0 git.scm)
+
+;; Static libraries.
+(compile -unit git-lolevel -cJ -O3 -d0 git-lolevel.scm -o git-lolevel.o)
+(compile -unit git -uses git-lolevel -cJ -O3 -d0 git.scm -o git.o)
+(run (ar -rc git.a git.o git-lolevel.o))
+
+;; Import libraries.
+(compile -s -O3 -d0 git-lolevel.import.scm)
+(compile -s -O3 -d0 git.import.scm)
+
 ;; If we couldn't detect libgit2's version via pkg-config, check it
 ;; directly now.
 (when (string-null? pkg-config-version)
 
 (install-extension 'git
   '("git-lolevel.so" "git-lolevel.import.so"
-    "git.so" "git.import.so")
+    "git.so" "git.import.so"
+    "git.a" "git.o" "git-lolevel.o")
   '((version "0.0.20")))