~ chicken-core (master) 7cf4c1ba5b051aa8ae68a54dc917935cc0ef6f85
commit 7cf4c1ba5b051aa8ae68a54dc917935cc0ef6f85
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Aug 28 15:54:49 2026 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Fri Aug 28 15:54:49 2026 +0200
default to .o object extension everywhere
diff --git a/csc.scm b/csc.scm
index e538ace1..faca1816 100644
--- a/csc.scm
+++ b/csc.scm
@@ -101,7 +101,7 @@
(define rc-compiler (if host-mode INSTALL_RC_COMPILER TARGET_RC_COMPILER))
(define linker (if host-mode host-cc default-cc))
(define c++-linker (if host-mode host-cxx default-cxx))
-(define object-extension (if mingw "obj" "o"))
+(define object-extension "o")
(define library-extension "a")
(define link-output-flag "-o")
(define executable-extension "")
@@ -306,8 +306,15 @@
(static-o (make-pathname #f name static-object-extension)))
(or (file-exists? a)
(file-exists? o)
+ (cond-expand
+ (windows (file-exists? (make-pathname #f name "obj")))
+ (else #f))
(file-exists? static-a)
(file-exists? static-o)
+ (cond-expand
+ (windows
+ (file-exists? (make-pathname #f name "static.obj")))
+ (else #f))
(and (not ignore-repository)
(or (chicken.load#find-file a (repo-path))
(chicken.load#find-file o (repo-path)))))))
diff --git a/egg-compile.scm b/egg-compile.scm
index ed41096b..48706bce 100644
--- a/egg-compile.scm
+++ b/egg-compile.scm
@@ -42,10 +42,6 @@
(define +unix-executable-extension+ "")
(define +windows-executable-extension+ ".exe")
-(define +unix-object-extension+ ".o")
-(define +unix-archive-extension+ ".a")
-(define +windows-object-extension+ ".obj")
-(define +windows-archive-extension+ ".a")
(define +link-file-extension+ ".link")
(define keep-generated-files #f)
@@ -61,15 +57,8 @@
(string-append prefix dir)
default))))
-(define (object-extension platform)
- (case platform
- ((unix) +unix-object-extension+)
- ((windows) +windows-object-extension+)))
-
-(define (archive-extension platform)
- (case platform
- ((unix) +unix-archive-extension+)
- ((windows) +windows-archive-extension+)))
+(define (object-extension platform) ".o")
+(define (archive-extension platform) ".a")
(define (executable-extension platform)
(case platform
diff --git a/manual/Getting started b/manual/Getting started
index 96fdabb9..aee13590 100644
--- a/manual/Getting started
+++ b/manual/Getting started
@@ -514,8 +514,8 @@ name), and that it returns an integer result (the {{int}} before.) Now we can in
If using MinGW on Windows,
- > gcc -c fib.c -o fib.obj
- > csc -o fib-user fib.obj fib-user.scm
+ > gcc -c fib.c -o fib.o
+ > csc -o fib-user fib.o fib-user.scm
Then run the executable.
$ ./fib-user
diff --git a/tests/csc-tests.scm b/tests/csc-tests.scm
index 932e48a1..76f57407 100644
--- a/tests/csc-tests.scm
+++ b/tests/csc-tests.scm
@@ -21,7 +21,7 @@
(csc "null.scm" "-t")
(assert (file-exists? "null.c"))
-(define obj-file (if (eq? (software-version) 'mingw) "null.obj" "null.o"))
+(define obj-file "null.o")
(csc "null.c" "-c")
(assert (file-exists? obj-file))
diff --git a/tests/runtests.sh b/tests/runtests.sh
index 97210387..2edfaa57 100755
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -60,7 +60,7 @@ $time true >/dev/null 2>/dev/null
test $? -eq 127 && time=
set -e
-rm -fr *.exe *.so *.o *.obj *.out *.import.* ../foo.import.* test-repository
+rm -fr *.exe *.so *.o *.out *.import.* ../foo.import.* test-repository
mkdir -p test-repository
cp $TYPESDB test-repository/types.db
Trap