Fix install problems on MacOS X and HP-UX.
PR: 1218,1185
This commit is contained in:
parent
ce6aa1e496
commit
755c5b3330
3 changed files with 18 additions and 7 deletions
|
@ -255,7 +255,7 @@ clean-shared:
|
||||||
|
|
||||||
link-shared:
|
link-shared:
|
||||||
@ set -e; for i in ${SHLIBDIRS}; do \
|
@ set -e; for i in ${SHLIBDIRS}; do \
|
||||||
$(MAKE) -f $(HERE)/Makefile.shared \
|
$(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
|
||||||
LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||||
LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
|
LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
|
||||||
symlink.$(SHLIB_TARGET); \
|
symlink.$(SHLIB_TARGET); \
|
||||||
|
|
|
@ -196,10 +196,14 @@ link_app.bsd:
|
||||||
fi; $(LINK_APP)
|
fi; $(LINK_APP)
|
||||||
|
|
||||||
# For Darwin AKA Mac OS/X (dyld)
|
# For Darwin AKA Mac OS/X (dyld)
|
||||||
|
# link_o.darwin produces .so, because we let it use dso_dlfcn module,
|
||||||
|
# which has .so extension hard-coded. One can argue that one should
|
||||||
|
# develop special dso module for MacOS X. At least manual encourages
|
||||||
|
# to use native NSModule(3) API and refers to dlfcn as termporary hack.
|
||||||
link_o.darwin:
|
link_o.darwin:
|
||||||
@ $(CALC_VERSIONS); \
|
@ $(CALC_VERSIONS); \
|
||||||
SHLIB=lib$(LIBNAME); \
|
SHLIB=lib$(LIBNAME); \
|
||||||
SHLIB_SUFFIX=.dylib; \
|
SHLIB_SUFFIX=.so; \
|
||||||
ALLSYMSFLAGS='-all_load'; \
|
ALLSYMSFLAGS='-all_load'; \
|
||||||
NOALLSYMSFLAGS=''; \
|
NOALLSYMSFLAGS=''; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
|
||||||
|
@ -450,7 +454,7 @@ link_o.hpux:
|
||||||
@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
|
@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
|
||||||
$(CALC_VERSIONS); \
|
$(CALC_VERSIONS); \
|
||||||
SHLIB=lib$(LIBNAME).sl; \
|
SHLIB=lib$(LIBNAME).sl; \
|
||||||
expr $(PLATFORM) : '.*ia64' > /dev/null && SHLIB=lib$(LIBNAME).so; \
|
expr "$(CFLAGS)" : 'DSO_DLFCN' > /dev/null && SHLIB=lib$(LIBNAME).so; \
|
||||||
SHLIB_SUFFIX=; \
|
SHLIB_SUFFIX=; \
|
||||||
ALLSYMSFLAGS='-Wl,-Fl'; \
|
ALLSYMSFLAGS='-Wl,-Fl'; \
|
||||||
NOALLSYMSFLAGS=''; \
|
NOALLSYMSFLAGS=''; \
|
||||||
|
|
|
@ -84,6 +84,7 @@ links:
|
||||||
# XXXXX This currently only works on systems that use .so as suffix
|
# XXXXX This currently only works on systems that use .so as suffix
|
||||||
# for shared libraries as well as for Cygwin which uses the
|
# for shared libraries as well as for Cygwin which uses the
|
||||||
# dlfcn_name_converter and therefore stores the engines with .so suffix, too.
|
# dlfcn_name_converter and therefore stores the engines with .so suffix, too.
|
||||||
|
# XXXXX This was extended to HP-UX dl targets, which use .sl suffix.
|
||||||
install:
|
install:
|
||||||
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
|
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
|
||||||
@if [ -n "$(SHARED_LIBS)" ]; then \
|
@if [ -n "$(SHARED_LIBS)" ]; then \
|
||||||
|
@ -91,12 +92,18 @@ install:
|
||||||
for l in $(LIBNAMES); do \
|
for l in $(LIBNAMES); do \
|
||||||
( echo installing $$l; \
|
( echo installing $$l; \
|
||||||
if [ "$(PLATFORM)" != "Cygwin" ]; then \
|
if [ "$(PLATFORM)" != "Cygwin" ]; then \
|
||||||
cp lib$$l.so $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
|
case "$(CFLAGS)" in \
|
||||||
|
*DSO_DLFCN*) sfx="so";; \
|
||||||
|
*DSO_DL*) sfx="sl";; \
|
||||||
|
*) sfx="bad";; \
|
||||||
|
esac; \
|
||||||
|
cp lib$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
|
||||||
else \
|
else \
|
||||||
cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
|
sfx="so"; \
|
||||||
|
cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
|
||||||
fi; \
|
fi; \
|
||||||
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
|
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
|
||||||
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so ); \
|
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx ); \
|
||||||
done; \
|
done; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue