diff options
author | midipix <writeonce@midipix.org> | 2020-08-16 17:00:44 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2020-08-16 17:41:11 +0000 |
commit | 95d9303a46ffa9e064554aba423fee59fe9c4ab0 (patch) | |
tree | 97fd910de0391b2c290092040719fc4cb13d6599 | |
parent | 58d03d680b20811b213d6ef867c3af4798105f3a (diff) | |
download | mdso-95d9303a46ffa9e064554aba423fee59fe9c4ab0.tar.bz2 mdso-95d9303a46ffa9e064554aba423fee59fe9c4ab0.tar.xz |
build system: shared library logic: support dso-implemented-as-archive targets.
-rw-r--r-- | Makefile.in | 5 | ||||
-rw-r--r-- | sofort/ccenv/ccenv.sh | 14 | ||||
-rw-r--r-- | sofort/config/config.vars | 3 |
3 files changed, 21 insertions, 1 deletions
diff --git a/Makefile.in b/Makefile.in index aacac6a..925e6a4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -114,6 +114,9 @@ DISABLE_STATIC = @disable_static@ USE_CUSTOM_CFGDEFS = @use_custom_cfgdefs@ USE_CUSTOM_USRDEFS = @use_custom_usrdefs@ +SHARED_LIB_CMD = @shared_lib_cmd@ +SHARED_LIB_LDFLAGS = @shared_lib_ldflags@ + .cflags-host: @printf '%s' "$(CFLAGS)" @@ -160,7 +163,7 @@ src/%.o: $(SOURCE_DIR)/src/%.c $(ALL_HEADERS) host.tag tree.tag $(CC) -c -o $@ $< $(CFLAGS_STATIC) lib/%$(OS_LIB_PREFIXED_SUFFIX)$(VER_XYZ)$(OS_LIB_SUFFIXED_SUFFIX): - $(CC) -shared -o $@ $^ $(LDFLAGS_SHARED) + $(SHARED_LIB_CMD) $@ $^ $(SHARED_LIB_LDFLAGS) lib/%$(OS_ARCHIVE_EXT): mkdir -p lib diff --git a/sofort/ccenv/ccenv.sh b/sofort/ccenv/ccenv.sh index 9ef0fba..f996333 100644 --- a/sofort/ccenv/ccenv.sh +++ b/sofort/ccenv/ccenv.sh @@ -1087,6 +1087,20 @@ ccenv_set_os_dso_format() ;; esac + if [ "$ccenv_cfgtype" = 'host' ]; then + case "$ccenv_cc_sofmt" in + bigaf | aiaff ) + mb_shared_lib_cmd='$(AR) -rcs' + mb_shared_lib_ldflags= + ;; + + * ) + mb_shared_lib_cmd='$(CC) -shared -o' + mb_shared_lib_ldflags='$(LDFLAGS_SHARED)' + ;; + esac + fi + ccenv_attr_epilog "$ccenv_cc_sofmt" } diff --git a/sofort/config/config.vars b/sofort/config/config.vars index 524b746..6f7fbbc 100644 --- a/sofort/config/config.vars +++ b/sofort/config/config.vars @@ -131,3 +131,6 @@ disable_static use_custom_cfgdefs use_custom_usrdefs + +shared_lib_cmd +shared_lib_ldflags |