aboutsummaryrefslogtreecommitdiff
path: root/autosetup
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2011-12-10 08:20:32 +1000
committerSteve Bennett <steveb@workware.net.au>2011-12-12 13:44:43 +1000
commitbdc3729473a79b144cbdf49fddeb288b05ccc8f5 (patch)
treeb219fc22b5ec26688c04281f9fda9d9839a67c2e /autosetup
parent9798fcccedb779101becaac5313afb80dbbd283d (diff)
downloadjimtcl-bdc3729473a79b144cbdf49fddeb288b05ccc8f5.zip
jimtcl-bdc3729473a79b144cbdf49fddeb288b05ccc8f5.tar.gz
jimtcl-bdc3729473a79b144cbdf49fddeb288b05ccc8f5.tar.bz2
Better dynamic extension building
If libjim is built shared, ensure that all symbols are resolved. This can't be done if libjim is built static. Also, build-jim-ext now shows stderr from the compiler and linker Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'autosetup')
-rw-r--r--autosetup/cc-shared.tcl9
1 files changed, 8 insertions, 1 deletions
diff --git a/autosetup/cc-shared.tcl b/autosetup/cc-shared.tcl
index 204e06f..1ff9071 100644
--- a/autosetup/cc-shared.tcl
+++ b/autosetup/cc-shared.tcl
@@ -9,7 +9,8 @@
## SH_CFLAGS Flags to use compiling sources destined for a shared library
## SH_LDFLAGS Flags to use linking a shared library
## SHOBJ_CFLAGS Flags to use compiling sources destined for a shared object
-## SHOBJ_LDFLAGS Flags to use linking a shared object
+## SHOBJ_LDFLAGS Flags to use linking a shared object, undefined symbols allowed
+## SHOBJ_LDFLAGS_R - as above, but all symbols must be resolved
## SH_LINKFLAGS Flags to use linking an executable which will load shared objects
## LD_LIBRARY_PATH Environment variable which specifies path to shared libraries
@@ -27,11 +28,13 @@ switch -glob -- [get-define host] {
define SH_LDFLAGS "-dynamiclib"
define SHOBJ_CFLAGS "-dynamic -fno-common"
define SHOBJ_LDFLAGS "-bundle -undefined dynamic_lookup"
+ define SHOBJ_LDFLAGS_R "-bundle"
define LD_LIBRARY_PATH DYLD_LIBRARY_PATH
}
*-*-ming* {
define SH_LDFLAGS -shared
define SHOBJ_LDFLAGS -shared
+ define SHOBJ_LDFLAGS_R -shared
}
*-*-cygwin {
define SH_LDFLAGS -shared
@@ -69,3 +72,7 @@ switch -glob -- [get-define host] {
define SHOBJ_LDFLAGS -shared
}
}
+
+if {![is-defined SHOBJ_LDFLAGS_R]} {
+ define SHOBJ_LDFLAGS_R [get-define SHOBJ_LDFLAGS]
+}