Fixes for subprojects in libraries on windows

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@15893 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-Macdonald 2003-02-06 07:39:35 +00:00
parent d576ff2552
commit ade9790a18
4 changed files with 27 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2003-02-06 Richard Frith-Macdonald <rfm@gnu.org>
* Instance/subproject.make: Build dll exported symbols def file.
* Instance/rules.make: Make list of subproject def files (thanks Nicola)
* Instance/library.make: Use list of subproject def files to put
symbols from subprojects into final dll output.
Wed Feb 5 04:07:05 2003 Nicola Pero <n.pero@mi.flashnet.it>
* library-combo.make (BUNDLE_LIBS): For apple library-combo,

View file

@ -190,7 +190,7 @@ $(DERIVED_SOURCES):
$(MKDIRS) $@
$(DERIVED_SOURCES)/$(GNUSTEP_INSTANCE).def: $(OBJ_FILES_TO_LINK) $(DLL_DEF)
$(DLLTOOL) $(DLL_DEF_FLAG) --output-def $@ $(OBJ_FILES_TO_LINK)
$(DLLTOOL) $(SUBPROJECT_DEF_FILES) $(DLL_DEF_FLAG) --output-def $@ $(OBJ_FILES_TO_LINK)
$(GNUSTEP_OBJ_DIR)/$(DLL_EXP_LIB): $(DERIVED_SOURCES)/$(GNUSTEP_INSTANCE).def
$(DLLTOOL) --dllname $(DLL_NAME) --def $< --output-lib $@

View file

@ -175,6 +175,11 @@ SUBPROJECT_OBJ_FILES = $(foreach d, $($(GNUSTEP_INSTANCE)_SUBPROJECTS), \
$(addprefix $(d)/, $(GNUSTEP_OBJ_DIR)/$(SUBPROJECT_PRODUCT)))
endif
ifneq ($($(GNUSTEP_INSTANCE)_SUBPROJECTS),)
SUBPROJECT_DEF_FILES = $(foreach d, $($(GNUSTEP_INSTANCE)_SUBPROJECTS), \
--input-def $(addprefix $(d)/, subproject.def))
endif
OBJC_OBJS = $(patsubst %.m,%$(OEXT),$($(GNUSTEP_INSTANCE)_OBJC_FILES))
OBJC_OBJ_FILES = $(addprefix $(GNUSTEP_OBJ_DIR)/,$(OBJC_OBJS))

View file

@ -34,11 +34,24 @@ endif
internal-subproject-all_:: $(GNUSTEP_OBJ_DIR) \
$(GNUSTEP_OBJ_DIR)/$(SUBPROJECT_PRODUCT)
ifeq ($(BUILD_DLL),yes)
DLL_DEF = $($(GNUSTEP_INSTANCE)_DLL_DEF)
ifneq ($(strip $(DLL_DEF)),)
DLL_DEF_FLAG = --input-def $(DLL_DEF)
endif
internal-subproject-all_:: subproject.def
subproject.def: $(OBJ_FILES_TO_LINK) $(DLL_DEF)
$(ECHO_LINKING)$(DLLTOOL) $(SUBPROJECT_DEF_FILES) $(DLL_DEF_FLAG) --output-def subproject.def $(OBJ_FILES_TO_LINK)$(END_ECHO)
endif
# We need to depend on SUBPROJECT_OBJ_FILES to account for sub-subprojects.
$(GNUSTEP_OBJ_DIR)/$(SUBPROJECT_PRODUCT): $(OBJ_FILES_TO_LINK)
$(ECHO_LINKING)$(OBJ_MERGE_CMD)$(END_ECHO)
#
# Build-header target for framework subprojects
#