~ chicken-core (chicken-5) 8817a2cebbaf5599c7eb8d9bb9cda92406c09acf
commit 8817a2cebbaf5599c7eb8d9bb9cda92406c09acf Author: felix <felix@call-with-current-continuation.org> AuthorDate: Wed Dec 22 07:31:47 2010 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Wed Dec 22 07:31:47 2010 +0100 apply PROGRAM_PREFIX/SUFFIX also to share + lib subdirectories and library names; use distinctive subdir in include; remove msvc specific stuff from csc; use build-variable for actual library name; prefix/suffix-related build fixes; things may be broken at this point diff --git a/Makefile.bsd b/Makefile.bsd index 705afa69..c18a288b 100644 --- a/Makefile.bsd +++ b/Makefile.bsd @@ -56,7 +56,7 @@ endif LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -shared -Wl,-R"$(RUNTIME_LINKER_PATH)" -Wl,-L. LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,-R"$(RUNTIME_LINKER_PATH)" -LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,libchicken.so$(SONAME_VERSION) +LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so$(SONAME_VERSION) LIBRARIES = -lm NEEDS_RELINKING = yes USES_SONAME = yes diff --git a/Makefile.cross-linux-mingw b/Makefile.cross-linux-mingw index 583f1a49..51facbf6 100644 --- a/Makefile.cross-linux-mingw +++ b/Makefile.cross-linux-mingw @@ -62,11 +62,10 @@ endif C_COMPILER_SHARED_OPTIONS = -DPIC LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared LIBRARIES = -lm -lws2_32 -LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,libchicken.dll.a +LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a LIBCHICKEN_SO_LIBRARIES = -lws2_32 LIBUCHICKEN_SO_LIBRARIES = -lws2_32 -LIBCHICKEN_IMPORT_LIBRARY = libchicken.dll.a -LIBUCHICKEN_IMPORT_LIBRARY = libuchicken.dll.a +LIBCHICKEN_IMPORT_LIBRARY = lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a TARGET_C_COMPILER = gcc TARGET_CXX_COMPILER = g++ @@ -82,14 +81,13 @@ include $(SRCDIR)/defaults.make # main target ifndef BUILD_SETUP_TOOLS -TARGETS = libchicken$(A) libuchicken$(A) $(CHICKEN_PROGRAM)$(EXE) $(CSI_PROGRAM)$(EXE) \ - $(CHICKEN_PROFILE_PROGRAM)$(EXE) $(CSC_PROGRAM)$(EXE) libchicken$(SO) \ - libuchicken$(SO) \ +TARGETS = libchicken$(A) $(CHICKEN_PROGRAM)$(EXE) $(CSI_PROGRAM)$(EXE) \ + $(CHICKEN_PROFILE_PROGRAM)$(EXE) $(CSC_PROGRAM)$(EXE) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) \ $(CHICKEN_BUG_PROGRAM)$(EXE) else -TARGETS = libchicken$(A) libuchicken$(A) $(CHICKEN_PROGRAM)$(EXE) $(CSI_PROGRAM)$(EXE) \ - $(CHICKEN_PROFILE_PROGRAM)$(EXE) $(CSC_PROGRAM)$(EXE) libchicken$(SO) \ - libuchicken$(SO) $(CHICKEN_INSTALL_PROGRAM)$(EXE) $(CHICKEN_UNINSTALL_PROGRAM)$(EXE) \ +TARGETS = libchicken$(A) $(CHICKEN_PROGRAM)$(EXE) $(CSI_PROGRAM)$(EXE) \ + $(CHICKEN_PROFILE_PROGRAM)$(EXE) $(CSC_PROGRAM)$(EXE) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) \ + $(CHICKEN_INSTALL_PROGRAM)$(EXE) $(CHICKEN_UNINSTALL_PROGRAM)$(EXE) \ $(CHICKEN_STATUS_PROGRAM)$(EXE) \ $(CHICKEN_BUG_PROGRAM)$(EXE) endif diff --git a/Makefile.cygwin b/Makefile.cygwin index e1f70c69..39fa2e11 100644 --- a/Makefile.cygwin +++ b/Makefile.cygwin @@ -61,7 +61,7 @@ endif C_COMPILER_SHARED_OPTIONS = -DPIC LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,--dll-search-prefix=cyg -LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,libchicken.dll.a \ +LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a \ -Wl,--export-all-symbols \ -Wl,--enable-auto-import \ -Wl,--image-base=0x10000000 \ @@ -70,7 +70,7 @@ LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,libchicken.dll.a \ -Wl,--no-whole-archive LIBRARIES = -lm -LIBCHICKEN_IMPORT_LIBRARY = libchicken.dll.a +LIBCHICKEN_IMPORT_LIBRARY = lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a # special files diff --git a/Makefile.haiku b/Makefile.haiku index e8b27425..2b3cde26 100644 --- a/Makefile.haiku +++ b/Makefile.haiku @@ -49,8 +49,7 @@ endif LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -L. -shared -Wl,-R$(RUNTIME_LINKER_PATH) LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,-R$(RUNTIME_LINKER_PATH) -LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,libchicken.so$(SONAME_VERSION) -LIBUCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,libuchicken.so$(SONAME_VERSION) +LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so$(SONAME_VERSION) LIBRARIES = -lnetwork NEEDS_RELINKING = yes USES_SONAME = yes diff --git a/Makefile.linux b/Makefile.linux index f4b8cc4a..686ae88d 100644 --- a/Makefile.linux +++ b/Makefile.linux @@ -50,7 +50,7 @@ endif LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -L. -shared -Wl,-R"$(RUNTIME_LINKER_PATH)" LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,-R"$(RUNTIME_LINKER_PATH)" -LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,libchicken.so$(SONAME_VERSION) +LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so$(SONAME_VERSION) LIBRARIES = -lm -ldl NEEDS_RELINKING = yes USES_SONAME = yes diff --git a/Makefile.macosx b/Makefile.macosx index d7e72d09..8290c9f2 100644 --- a/Makefile.macosx +++ b/Makefile.macosx @@ -52,7 +52,7 @@ C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -fomit-frame-pointer endif endif LINKER_LINK_SHARED_LIBRARY_OPTIONS = -dynamiclib -compatibility_version 1 -current_version 1.0 -install_name $@ -POSTINSTALL_PROGRAM_FLAGS = -change libchicken$(SO) $(LIBDIR)/libchicken$(SO) +POSTINSTALL_PROGRAM_FLAGS = -change lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) $(LIBDIR)/lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) LIBRARIAN_OPTIONS = scru LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -bundle -L. ASSEMBLER_OPTIONS = diff --git a/Makefile.mingw b/Makefile.mingw index 67c2d354..34465cbe 100644 --- a/Makefile.mingw +++ b/Makefile.mingw @@ -70,9 +70,9 @@ RC_COMPILER ?= windres LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared LIBRARIES = -lm -lws2_32 LINKER_OPTIONS += -Wl,--enable-auto-import -LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,libchicken.dll.a +LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a LIBCHICKEN_SO_LIBRARIES = -lm -lws2_32 -LIBCHICKEN_IMPORT_LIBRARY = libchicken.dll.a +LIBCHICKEN_IMPORT_LIBRARY = lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a MAKEDIR_COMMAND_OPTIONS = CUSTOM_RC_FILE = 1 @@ -165,6 +165,9 @@ endif echo #ifndef C_INSTALL_LIB_HOME >>$@ echo # define C_INSTALL_LIB_HOME "$(LIBDIR)" >>$@ echo #endif >>$@ + echo #ifndef C_INSTALL_LIB_NAME >>$@ + echo # define C_INSTALL_LIB_NAME "$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX))" >>$@ + echo #endif >>$@ echo #ifndef C_INSTALL_STATIC_LIB_HOME >>$@ echo # define C_INSTALL_STATIC_LIB_HOME "$(LIBDIR)" >>$@ echo #endif >>$@ @@ -222,6 +225,9 @@ endif echo #ifndef C_TARGET_LIB_HOME >>$@ echo # define C_TARGET_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@ echo #endif >>$@ + echo #ifndef C_TARGET_LIB_NAME >>$@ + echo # define C_TARGET_LIB_NAME "$(INSTALL_LIB_NAME)" >>$@ + echo #endif >>$@ echo #ifndef C_TARGET_RUN_LIB_HOME >>$@ echo # define C_TARGET_RUN_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@ echo #endif >>$@ @@ -229,7 +235,7 @@ endif echo # define C_TARGET_SHARE_HOME "$(TARGET_PREFIX)/share" >>$@ echo #endif >>$@ echo #ifndef C_TARGET_INCLUDE_HOME >>$@ - echo # define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX)/include" >>$@ + echo # define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX)/include/chicken" >>$@ echo #endif >>$@ echo #ifndef C_TARGET_STATIC_LIB_HOME >>$@ echo # define C_TARGET_STATIC_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@ diff --git a/Makefile.mingw-msys b/Makefile.mingw-msys index 6e3bc1e0..630989db 100644 --- a/Makefile.mingw-msys +++ b/Makefile.mingw-msys @@ -63,9 +63,9 @@ C_COMPILER_SHARED_OPTIONS = -DPIC LINKER_OPTIONS += -Wl,--enable-auto-import LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared LIBRARIES = -lm -lws2_32 -LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,libchicken.dll.a +LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a LIBCHICKEN_SO_LIBRARIES = -lm -lws2_32 -LIBCHICKEN_IMPORT_LIBRARY = libchicken.dll.a +LIBCHICKEN_IMPORT_LIBRARY = lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a # Don't use "install" program as it is broken in some Mingw versions and # Vista doesn't like it, anyway. diff --git a/csc.scm b/csc.scm index d74247a8..d57ca083 100644 --- a/csc.scm +++ b/csc.scm @@ -45,6 +45,7 @@ (define-foreign-variable INSTALL_MORE_STATIC_LIBS c-string "C_INSTALL_MORE_STATIC_LIBS") (define-foreign-variable INSTALL_SHARE_HOME c-string "C_INSTALL_SHARE_HOME") (define-foreign-variable INSTALL_LIB_HOME c-string "C_INSTALL_LIB_HOME") +(define-foreign-variable INSTALL_LIB_NAME c-string "C_INSTALL_LIB_NAME") (define-foreign-variable INSTALL_INCLUDE_HOME c-string "C_INSTALL_INCLUDE_HOME") (define-foreign-variable INSTALL_STATIC_LIB_HOME c-string "C_INSTALL_STATIC_LIB_HOME") (define-foreign-variable TARGET_MORE_LIBS c-string "C_TARGET_MORE_LIBS") @@ -52,6 +53,7 @@ (define-foreign-variable TARGET_BIN_HOME c-string "C_TARGET_BIN_HOME") (define-foreign-variable TARGET_SHARE_HOME c-string "C_TARGET_SHARE_HOME") (define-foreign-variable TARGET_LIB_HOME c-string "C_TARGET_LIB_HOME") +(define-foreign-variable TARGET_LIB_NAME c-string "C_TARGET_LIB_NAME") (define-foreign-variable TARGET_INCLUDE_HOME c-string "C_TARGET_INCLUDE_HOME") (define-foreign-variable TARGET_STATIC_LIB_HOME c-string "C_TARGET_STATIC_LIB_HOME") (define-foreign-variable TARGET_RUN_LIB_HOME c-string "C_TARGET_RUN_LIB_HOME") @@ -219,9 +221,7 @@ (string-append "/" default-library)))) )) (define default-shared-library-files - (if msvc - (list (string-append "libchicken." library-extension)) - '("-lchicken"))) + (list (string-append "-l" (if host-mode INSTALL_LIB_NAME TARGET_LIB_NAME)))) (define library-files default-library-files) (define shared-library-files default-shared-library-files) @@ -505,7 +505,6 @@ EOF (set! link-options (cons (cond (osx (if lib "-dynamiclib" "-bundle")) - (msvc "-dll") (else "-shared")) link-options)) (set! shared #t) ) @@ -601,9 +600,9 @@ EOF (set! inquiry-only #t) (set! show-libs #t) ] [(-v -verbose) - (when (and (number? verbose) (not msvc)) + (when (number? verbose) (set! compile-options (cons* "-v" "-Q" compile-options)) - (set! link-options (cons (if msvc "-VERBOSE" "-v") link-options)) ) + (set! link-options (cons "-v" link-options)) ) (cond (verbose (t-options "-verbose") (set! verbose 2)) @@ -646,15 +645,10 @@ EOF INSTALL_SHARE_HOME "chicken.rc" object-extension) object-files)) - (when (or msvc mingw) - (cond - (mingw - (set! link-options - (cons* "-lkernel32" "-luser32" "-lgdi32" "-mwindows" - link-options))) - (msvc - (set! link-options - (cons* "kernel32.lib" "user32.lib" "gdi32.lib" link-options)))))] + (when mingw + (set! link-options + (cons* "-lkernel32" "-luser32" "-lgdi32" "-mwindows" + link-options)))] ((-deploy) (set! deploy #t) (set! deployed #t)) @@ -998,7 +992,7 @@ EOF (string-intersperse (append linking-optimization-options link-options (nth-value 1 (static-extension-info)) ) ) - (if (and static (not mingw) (not msvc) (not osx)) " -static" "") ) ) + (if (and static (not mingw) (not osx)) " -static" "") ) ) (define (linker-libraries #!optional staticexts) (string-intersperse diff --git a/defaults.make b/defaults.make index 6293d656..e14752b8 100644 --- a/defaults.make +++ b/defaults.make @@ -48,13 +48,13 @@ BRANCHNAME ?= $(shell sh identify-branch.sh $(SRCDIR)) BINDIR = $(PREFIX)/bin LIBDIR = $(PREFIX)/lib SHAREDIR = $(PREFIX)/share -DATADIR = $(SHAREDIR)/chicken +DATADIR = $(SHAREDIR)/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX) TOPMANDIR = $(SHAREDIR)/man MANDIR = $(TOPMANDIR)/man1 -INCDIR = $(PREFIX)/include +INCDIR = $(PREFIX)/include/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX) DOCDIR = $(DATADIR)/doc VARDIR ?= $(LIBDIR) -CHICKENLIBDIR = $(VARDIR)/chicken +CHICKENLIBDIR = $(VARDIR)/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX) EGGDIR = $(CHICKENLIBDIR)/$(BINARYVERSION) ifdef WINDOWS_SHELL @@ -62,12 +62,12 @@ SPREFIX = $(subst /,$(SEP),$(PREFIX)) IBINDIR = $(SPREFIX)$(SEP)bin ILIBDIR = $(SPREFIX)$(SEP)lib ISHAREDIR = $(SPREFIX)$(SEP)share -IDATADIR = $(ISHAREDIR)$(SEP)chicken +IDATADIR = $(ISHAREDIR)$(SEP)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX) ITOPMANDIR = $(ISHAREDIR)$(SEP)man IMANDIR = $(ITOPMANDIR)$(SEP)man1 -IINCDIR = $(SPREFIX)$(SEP)include +IINCDIR = $(SPREFIX)$(SEP)include$(SEP)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX) IDOCDIR = $(IDATADIR)$(SEP)doc -ICHICKENLIBDIR = $(ILIBDIR)$(SEP)chicken +ICHICKENLIBDIR = $(ILIBDIR)$(SEP)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX) IEGGDIR = $(ICHICKENLIBDIR)$(SEP)$(BINARYVERSION) else SPREFIX = $(PREFIX) @@ -210,14 +210,14 @@ ASSEMBLER_OUTPUT_OPTION ?= -o ASSEMBLER_OUTPUT ?= $(ASSEMBLER_OUTPUT_OPTION) $@ ASSEMBLER_COMPILE_OPTION ?= -c ifdef STATICBUILD -PRIMARY_LIBCHICKEN ?= libchicken$(A) +PRIMARY_LIBCHICKEN ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) else ifeq ($(PLATFORM),cygwin) -PRIMARY_LIBCHICKEN = cygchicken-0.dll -LIBCHICKEN_SO_FILE = cygchicken-0.dll +PRIMARY_LIBCHICKEN = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll +LIBCHICKEN_SO_FILE = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll else -PRIMARY_LIBCHICKEN ?= libchicken$(SO) -LIBCHICKEN_SO_FILE ?= libchicken$(SO) +PRIMARY_LIBCHICKEN ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) +LIBCHICKEN_SO_FILE ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) endif endif LIBCHICKEN_SO_LIBRARIES ?= $(LIBRARIES) @@ -308,7 +308,7 @@ CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE) CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)$(EXE) CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)-shared$(EXE) CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)-shared$(EXE) -TARGETLIBS ?= libchicken$(A) +TARGETLIBS ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) TARGETS += $(TARGETLIBS) $(CHICKEN_STATIC_EXECUTABLE) \ $(CSI_STATIC_EXECUTABLE) $(CHICKEN_PROFILE_PROGRAM)$(EXE) \ $(CSC_PROGRAM)$(EXE) \ @@ -318,7 +318,7 @@ CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)-static$(EXE) CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)-static$(EXE) CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE) CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)$(EXE) -TARGETLIBS ?= libchicken$(A) $(LIBCHICKEN_SO_FILE) +TARGETLIBS ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) $(LIBCHICKEN_SO_FILE) TARGETS += $(TARGETLIBS) $(CHICKEN_SHARED_EXECUTABLE) \ $(CSI_SHARED_EXECUTABLE) $(CHICKEN_PROFILE_PROGRAM)$(EXE) \ $(CSC_PROGRAM)$(EXE) $(CHICKEN_INSTALL_PROGRAM)$(EXE) $(CHICKEN_UNINSTALL_PROGRAM)$(EXE) \ @@ -380,6 +380,9 @@ endif echo "#ifndef C_INSTALL_LIB_HOME" >>$@ echo "# define C_INSTALL_LIB_HOME \"$(LIBDIR)\"" >>$@ echo "#endif" >>$@ + echo "#ifndef C_INSTALL_LIB_NAME" >>$@ + echo "# define C_INSTALL_LIB_NAME \"$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX))\"" >>$@ + echo "#endif" >>$@ echo "#ifndef C_INSTALL_STATIC_LIB_HOME" >>$@ echo "# define C_INSTALL_STATIC_LIB_HOME \"$(LIBDIR)\"" >>$@ echo "#endif" >>$@ @@ -437,6 +440,9 @@ endif echo "#ifndef C_TARGET_LIB_HOME" >>$@ echo "# define C_TARGET_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@ echo "#endif" >>$@ + echo "#ifndef C_TARGET_LIB_NAME" >>$@ + echo "# define C_TARGET_LIB_NAME \"$(INSTALL_LIB_NAME)\"" >>$@ + echo "#endif" >>$@ echo "#ifndef C_TARGET_RUN_LIB_HOME" >>$@ echo "# define C_TARGET_RUN_LIB_HOME \"$(TARGET_RUN_PREFIX)/lib\"" >>$@ echo "#endif" >>$@ @@ -444,7 +450,7 @@ endif echo "# define C_TARGET_SHARE_HOME \"$(TARGET_PREFIX)/share\"" >>$@ echo "#endif" >>$@ echo "#ifndef C_TARGET_INCLUDE_HOME" >>$@ - echo "# define C_TARGET_INCLUDE_HOME \"$(TARGET_PREFIX)/include\"" >>$@ + echo "# define C_TARGET_INCLUDE_HOME \"$(TARGET_PREFIX)/include/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)\"" >>$@ echo "#endif" >>$@ echo "#ifndef C_TARGET_STATIC_LIB_HOME" >>$@ echo "# define C_TARGET_STATIC_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@ diff --git a/rules.make b/rules.make index a44b750f..69dc90c6 100644 --- a/rules.make +++ b/rules.make @@ -220,14 +220,14 @@ $(foreach obj, $(ALWAYS_STATIC_UTILITY_PROGRAM_OBJECTS_1),\ libs: $(TARGETLIBS) -libchicken$(SO): $(LIBCHICKEN_SHARED_OBJECTS) $(APPLY_HACK_OBJECT) +lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO): $(LIBCHICKEN_SHARED_OBJECTS) $(APPLY_HACK_OBJECT) $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_LINKER_OPTIONS) \ $(LINKER_OUTPUT) $^ $(LIBCHICKEN_SO_LIBRARIES) ifdef USES_SONAME ln -sf $(LIBCHICKEN_SO_FILE) $(LIBCHICKEN_SO_FILE).$(BINARYVERSION) endif -cygchicken-0.dll: $(LIBCHICKEN_SHARED_OBJECTS) $(APPLY_HACK_OBJECT) +cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll: $(LIBCHICKEN_SHARED_OBJECTS) $(APPLY_HACK_OBJECT) gcc -shared -o $(LIBCHICKEN_SO_FILE) -Wl,--dll -Wl,--add-stdcall-alias \ -Wl,--enable-stdcall-fixup -Wl,--warn-unresolved-symbols \ -Wl,--dll-search-prefix=cyg -Wl,--allow-multiple-definition \ @@ -237,21 +237,21 @@ cygchicken-0.dll: $(LIBCHICKEN_SHARED_OBJECTS) $(APPLY_HACK_OBJECT) -Wl,--whole-archive $(LIBCHICKEN_SHARED_OBJECTS) $(APPLY_HACK_OBJECT) \ -Wl,--no-whole-archive $(LIBCHICKEN_SO_LIBRARIES) -libchicken$(A): $(APPLY_HACK_OBJECT) $(LIBCHICKEN_STATIC_OBJECTS) +lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A): $(APPLY_HACK_OBJECT) $(LIBCHICKEN_STATIC_OBJECTS) $(LIBRARIAN) $(LIBRARIAN_OPTIONS) $(LIBRARIAN_OUTPUT) $^ # import libraries and extensions %.so: %.o $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $^ $(LINKER_OUTPUT_OPTION) $@ \ - $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) \ + $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX) \ $(LIBRARIES) # executables $(CHICKEN_SHARED_EXECUTABLE): $(COMPILER_OBJECTS) $(PRIMARY_LIBCHICKEN) $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $(COMPILER_OBJECTS) $(LINKER_OUTPUT) \ - $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES) + $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES) define declare-program-from-object $(1)-RC_FILE = $(if $(and $(RC_COMPILER),$(3)),$(2).rc$(O)) @@ -259,7 +259,7 @@ $(1)-RC_FILE = $(if $(and $(RC_COMPILER),$(3)),$(2).rc$(O)) $(1): $(2)$(O) $$(PRIMARY_LIBCHICKEN) $$($(1)-RC_FILE) $$(LINKER) $$(LINKER_OPTIONS) $$(LINKER_EXECUTABLE_OPTIONS) $$< \ $$($(1)-RC_FILE) $$(LINKER_OUTPUT) \ - $$(LINKER_LIBRARY_PREFIX)chicken$$(LINKER_LIBRARY_SUFFIX) \ + $$(LINKER_LIBRARY_PREFIX)$$(PROGRAM_PREFIX)chicken$$(PROGRAM_SUFFIX)$$(LINKER_LIBRARY_SUFFIX) \ $$(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $$(LIBRARIES) endef @@ -274,12 +274,12 @@ $(eval $(call declare-program-from-object,$(CSC_PROGRAM)$(EXE),csc)) # static executables -$(CHICKEN_STATIC_EXECUTABLE): $(COMPILER_STATIC_OBJECTS) libchicken$(A) - $(LINKER) $(LINKER_OPTIONS) $(LINKER_STATIC_OPTIONS) $(COMPILER_STATIC_OBJECTS) $(LINKER_OUTPUT) libchicken$(A) $(LIBRARIES) +$(CHICKEN_STATIC_EXECUTABLE): $(COMPILER_STATIC_OBJECTS) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) + $(LINKER) $(LINKER_OPTIONS) $(LINKER_STATIC_OPTIONS) $(COMPILER_STATIC_OBJECTS) $(LINKER_OUTPUT) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) $(LIBRARIES) define declare-static-program-from-object -$(1): $(2)$(O) libchicken$(A) - $$(LINKER) $$(LINKER_OPTIONS) $$(LINKER_STATIC_OPTIONS) $$< $$(LINKER_OUTPUT) libchicken$(A) $$(LIBRARIES) +$(1): $(2)$(O) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) + $$(LINKER) $$(LINKER_OPTIONS) $$(LINKER_STATIC_OPTIONS) $$< $$(LINKER_OUTPUT) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) $$(LIBRARIES) endef $(eval $(call declare-program-from-object,$(CSI_STATIC_EXECUTABLE),csi)) @@ -309,7 +309,7 @@ else endif ifdef USES_SONAME ifeq ($(DESTDIR),) - cd "$(DESTDIR)$(ILIBDIR)" && ln -sf $(LIBCHICKEN_SO_FILE).$(BINARYVERSION) libchicken$(SO) + cd "$(DESTDIR)$(ILIBDIR)" && ln -sf $(LIBCHICKEN_SO_FILE).$(BINARYVERSION) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) endif endif endif @@ -325,7 +325,7 @@ install-dev: install-libs $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) "$(DESTDIR)$(IEGGDIR)" $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) "$(DESTDIR)$(IINCDIR)" $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) "$(DESTDIR)$(IDATADIR)" - $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS) libchicken$(A) "$(DESTDIR)$(ILIBDIR)" + $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) "$(DESTDIR)$(ILIBDIR)" ifneq ($(POSTINSTALL_STATIC_LIBRARY),true) $(POSTINSTALL_STATIC_LIBRARY) $(POSTINSTALL_STATIC_LIBRARY_FLAGS) "$(ILIBDIR)$(SEP)libchicken$(A)" endif @@ -435,17 +435,17 @@ uninstall: $(REMOVE_COMMAND) $(REMOVE_COMMAND_RECURSIVE_OPTIONS) "$(DESTDIR)$(IEGGDIR)" - $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(ILIBDIR)$(SEP)libchicken$(A)" - $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(ILIBDIR)$(SEP)libchicken$(SO)" + $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(ILIBDIR)$(SEP)lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A)" + $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(ILIBDIR)$(SEP)lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)" ifdef USES_SONAME - -$(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(ILIBDIR)$(SEP)libchicken$(SO).$(BINARYVERSION)" + -$(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(ILIBDIR)$(SEP)lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO).$(BINARYVERSION)" endif ifdef WINDOWS - $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(IBINDIR)$(SEP)libchicken$(SO)" + $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(IBINDIR)$(SEP)lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)" $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_IMPORT_LIBRARY)" endif ifeq ($(PLATFORM),cygwin) - $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(IBINDIR)$(SEP)cygchicken*" + $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) "$(DESTDIR)$(IBINDIR)$(SEP)cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)*" endif $(foreach obj,$(MANPAGES),\ @@ -586,18 +586,19 @@ html: .PHONY: clean distclean spotless confclean testclean clean: - -$(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) chicken$(EXE) csi$(EXE) csc$(EXE) \ + -$(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(EXE) $(PROGRAM_PREFIX)csi$(PROGRAM_SUFFIX)$(EXE) $(PROGRAM_PREFIX)csc$(PROGRAM_SUFFIX)$(EXE) \ $(CHICKEN_PROFILE_PROGRAM)$(EXE) \ $(CHICKEN_INSTALL_PROGRAM)$(EXE) \ $(CHICKEN_UNINSTALL_PROGRAM)$(EXE) \ $(CHICKEN_STATUS_PROGRAM)$(EXE) \ $(CHICKEN_BUG_PROGRAM)$(EXE) *$(O) \ $(LIBCHICKEN_SO_FILE) \ - libchicken$(A) libchicken$(SO) $(PROGRAM_IMPORT_LIBRARIES) \ + lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) \ + lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) $(PROGRAM_IMPORT_LIBRARIES) \ $(IMPORT_LIBRARIES:=.import.so) $(LIBCHICKEN_IMPORT_LIBRARY) \ $(SETUP_API_OBJECTS_1:=.so) $(SETUP_API_OBJECTS_1:=.import.so) ifdef USES_SONAME - $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) libchicken.so.$(BINARYVERSION) + $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so.$(BINARYVERSION) endif confclean:Trap