diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-02-29 18:34:42 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-02-29 18:46:38 +0100 |
commit | 7c4f2ec8a795534164ee1923093b7d5be0126c55 (patch) | |
tree | 08971f4c7375629393b6d9cdeb713006778334bf /solenv/inc/tg_ext.mk | |
parent | 8c9823d311fdf8092cc75873e4565325d204a658 (diff) |
Simplify install name handling for external libraries on Mac OS X
...by allowing our special @___... tokens anywhere within an install name,
so that external modules can configure --prefix=/@___... etc. This removes
the need for the special extshl and EXTRPATH=LOADER. Also, a new
OUT2BIN_NONE can be used for external modules where the generated libraries
need the default EXTRPATH=OOO, but generated executables are only used
during the build and such need RPATH=NONE.
Diffstat (limited to 'solenv/inc/tg_ext.mk')
-rw-r--r-- | solenv/inc/tg_ext.mk | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/solenv/inc/tg_ext.mk b/solenv/inc/tg_ext.mk index 0adec0c96683..b74c79fc954d 100644 --- a/solenv/inc/tg_ext.mk +++ b/solenv/inc/tg_ext.mk @@ -47,8 +47,8 @@ PATH!:=.$(PATH_SEPERATOR)$(SOLARBINDIR)$(PATH_SEPERATOR)$(PATH) .EXPORT : PATH #override -PACKAGE_DIR=$(MISC)/build -ABS_PACKAGE_DIR:=$(MAKEDIR)/$(MISC)/build +PACKAGE_DIR*=$(MISC)/build +ABS_PACKAGE_DIR:=$(MAKEDIR)/$(PACKAGE_DIR) #MUST match with PACKAGE_DIR BACK_PATH=../../../ @@ -252,7 +252,7 @@ $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) : $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE) .IF "$(OUT2LIB)"!="" $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2LIB) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(LB) .IF "$(OS)"=="MACOSX" - $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl extshl \ + $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl shl \ $(EXTRPATH) \ $(shell ls $(foreach,j,$(OUT2LIB) $(LB)/$(j:f)) | \ (grep -v '\.a$$' || test $$? = 1)) @@ -271,16 +271,31 @@ $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) : $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE) .ENDIF # "$(OUTDIR2INC)"!="" .IF "$(OUT2BIN)"!="" $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2BIN) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(BIN) -.IF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12" +.IF "$(OS)"=="MACOSX" + $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl app \ + $(EXTRPATH) $(shell ls $(foreach,j,$(OUT2BIN) $(BIN)/$(j:f))) +.ELIF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12" @noop $(foreach,j,$(foreach,k,$(OUT2BIN) \ $(shell -ls -1 $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$k | $(GREP) .dll)) \ $(shell @$(IFEXIST) $(j).manifest $(THEN) mt.exe \ -manifest $(j).manifest -outputresource:$(BIN)/$(j:f)$(EMQ);2 $(FI))) .ENDIF # "$(GUI)$(COM)$(COMEX)"=="WNTMSC12" .ENDIF # "$(OUT2BIN)"!="" +.IF "$(OUT2BIN_NONE)"!="" + $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2BIN_NONE) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(BIN) +.IF "$(OS)"=="MACOSX" + $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl app \ + NONE $(shell ls $(foreach,j,$(OUT2BIN_NONE) $(BIN)/$(j:f))) +.ELIF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12" + @noop $(foreach,j,$(foreach,k,$(OUT2BIN_NONE) \ + $(shell -ls -1 $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$k | $(GREP) .dll)) \ + $(shell @$(IFEXIST) $(j).manifest $(THEN) mt.exe \ + -manifest $(j).manifest -outputresource:$(BIN)/$(j:f)$(EMQ);2 $(FI))) +.END +.ENDIF # "$(OUT2BIN_NONE)"!="" .IF "$(OUT2CLASS)"!="" $(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2CLASS) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(CLASSDIR) -.ENDIF # "$(OUT2BIN)"!="" +.ENDIF # "$(OUT2CLASS)"!="" $(COMMAND_ECHO)$(TOUCH) $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) $(MISC)/$(TARFILE_ROOTDIR).done : $(MISC)/$(TARFILE_MD5)-$(TARFILE_NAME).unpack $(PATCH_FILES) |