Unverified Commit 3c818997 authored by Mihai Moldovan's avatar Mihai Moldovan

Merge branch 'Ionic-bugfix/rpath' into 3.6.x

Attributes GH PR #614: https://github.com/ArcticaProject/nx-libs/pull/614 Fixes: ArcticaProject/nx-libs#610
parents e13e31f7 1c1431c0
...@@ -176,7 +176,7 @@ install-full: ...@@ -176,7 +176,7 @@ install-full:
$(MAKE) -C nxcompshad install $(MAKE) -C nxcompshad install
$(INSTALL_DIR) $(DESTDIR)$(BINDIR)/bin $(INSTALL_DIR) $(DESTDIR)$(BINDIR)/bin
$(INSTALL_PROGRAM) nx-X11/programs/Xserver/nxagent $(DESTDIR)$(BINDIR) $(INSTALL_PROGRAM) nx-X11/programs/Xserver/nxagent-relink $(DESTDIR)$(BINDIR)/nxagent
$(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/pixmaps $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/pixmaps
$(INSTALL_FILE) nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm $(DESTDIR)$(PREFIX)/share/pixmaps $(INSTALL_FILE) nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm $(DESTDIR)$(PREFIX)/share/pixmaps
...@@ -201,7 +201,7 @@ install-full: ...@@ -201,7 +201,7 @@ install-full:
cp -aL nx-X11/exports/include/* nx-X11/.build-exports/include cp -aL nx-X11/exports/include/* nx-X11/.build-exports/include
# copy libs (for libnx-x11), we want the targets of the links # copy libs (for libnx-x11), we want the targets of the links
. replace.sh; set -x; find nx-X11/exports/lib/ | grep -F ".so" | while read libpath; do \ . replace.sh; set -x; find nx-X11/exports/lib/ -name "libNX*.so" | while read libpath; do \
libfile=$$(basename $$libpath); \ libfile=$$(basename $$libpath); \
libdir=$$(dirname $$libpath); \ libdir=$$(dirname $$libpath); \
link=$$(readlink $$libpath); \ link=$$(readlink $$libpath); \
......
...@@ -124,5 +124,13 @@ override_dh_strip: ...@@ -124,5 +124,13 @@ override_dh_strip:
override_dh_makeshlibs: override_dh_makeshlibs:
dh_makeshlibs -n dh_makeshlibs -n
# Needed for the libX11 RUNPATH/RPATH link-time hack.
# dh_shlibdeps will follow dependencies within binaries and choke
# on the libX11 dependency, since the SONAME (libX11.*) used while linking
# does not match the later detected SONAME (libNX_X11.*) obtained through
# the libX11 -> libNX_X11 compat symlink.
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
get-orig-source: get-orig-source:
uscan --noconf --force-download --rename --download-current-version --destdir=.. uscan --noconf --force-download --rename --download-current-version --destdir=..
...@@ -21,6 +21,7 @@ XCOMM --------------------------------------------------------------------- ...@@ -21,6 +21,7 @@ XCOMM ---------------------------------------------------------------------
* _MUseCat (a,b,c) * _MUseCat (a,b,c)
* ProgramTargetName (target) * ProgramTargetName (target)
* HostProgramTargetName (target) * HostProgramTargetName (target)
* ProgramRelinkName (target)
* RunProgram (progvar,options) * RunProgram (progvar,options)
* RunProgramWithSetup (setup,progvar,options) * RunProgramWithSetup (setup,progvar,options)
* RemoveFile (file) * RemoveFile (file)
...@@ -44,6 +45,7 @@ XCOMM --------------------------------------------------------------------- ...@@ -44,6 +45,7 @@ XCOMM ---------------------------------------------------------------------
* BuildIncludes (srclist,dstsubdir,dstupdir) * BuildIncludes (srclist,dstsubdir,dstupdir)
* LinkRule (program,options,objects,libraries) * LinkRule (program,options,objects,libraries)
* HostLinkRule (program,options,objects,libraries) * HostLinkRule (program,options,objects,libraries)
* LinkInstallRule (program,options,objects,libraries)
* NoCmpScript (target) * NoCmpScript (target)
* NoConfigRec (target) * NoConfigRec (target)
* NormalProgramTarget (program,objects,deplibs,locallibs,syslibs) * NormalProgramTarget (program,objects,deplibs,locallibs,syslibs)
...@@ -56,6 +58,7 @@ XCOMM --------------------------------------------------------------------- ...@@ -56,6 +58,7 @@ XCOMM ---------------------------------------------------------------------
* ComplexProgramTarget_3 (program,locallib,syslib) * ComplexProgramTarget_3 (program,locallib,syslib)
* ServerTargetWithFlags (server,subdirs,objects,libs,syslibs,flags) * ServerTargetWithFlags (server,subdirs,objects,libs,syslibs,flags)
* ServerTarget (server,subdirs,objects,libs,syslibs) * ServerTarget (server,subdirs,objects,libs,syslibs)
* LibX11Links ()
* MoveToBakFile (file) * MoveToBakFile (file)
* RMoveToBakFile (file) * RMoveToBakFile (file)
* RanLibrary (args) * RanLibrary (args)
...@@ -76,6 +79,7 @@ XCOMM --------------------------------------------------------------------- ...@@ -76,6 +79,7 @@ XCOMM ---------------------------------------------------------------------
* InstallNonExecFileNoClobber (file,dest) * InstallNonExecFileNoClobber (file,dest)
* InstallNonExec (file,dest) * InstallNonExec (file,dest)
* InstallProgramWithFlags (program,dest,flags) * InstallProgramWithFlags (program,dest,flags)
* RelinkProgram (program,objects,libs,syslibs)
* InstallProgram (program,dest) * InstallProgram (program,dest)
* InstallScript (program,dest) * InstallScript (program,dest)
* InstallNamedProg (srcname,dstname,dest) * InstallNamedProg (srcname,dstname,dest)
...@@ -316,6 +320,10 @@ XCOMM special target for clearmake @@\ ...@@ -316,6 +320,10 @@ XCOMM special target for clearmake @@\
#define HostProgramTargetName(target)target #define HostProgramTargetName(target)target
#endif #endif
#ifndef ProgramRelinkName
#define ProgramRelinkName(target)Concat(target,-relink)
#endif
#ifndef RunProgram #ifndef RunProgram
#define RunProgram(progvar,options) $(progvar) options #define RunProgram(progvar,options) $(progvar) options
#endif #endif
...@@ -610,6 +618,14 @@ $(CCLINK) -o program options objects libraries $(EXTRA_LOAD_FLAGS) ...@@ -610,6 +618,14 @@ $(CCLINK) -o program options objects libraries $(EXTRA_LOAD_FLAGS)
#endif /* LinkRule */ #endif /* LinkRule */
/* /*
* LinkRule - link a program, suitable for later installation
*/
#ifndef LinkInstallRule
#define LinkInstallRule(program,options,objects,libraries) \
$(CCLINK) -o program options objects libraries $(EXTRA_INSTALL_LOAD_FLAGS)
#endif /* LinkInstallRule */
/*
* HostLinkRule - link a utility to be used on the build host * HostLinkRule - link a utility to be used on the build host
* (differs from LinkRule if cross compiling) * (differs from LinkRule if cross compiling)
*/ */
...@@ -1101,13 +1117,14 @@ CplusplusProgramTargetHelper(program,SRCS10,OBJS10,DEPLIBS10,locallib,syslib) ...@@ -1101,13 +1117,14 @@ CplusplusProgramTargetHelper(program,SRCS10,OBJS10,DEPLIBS10,locallib,syslib)
#ifndef ServerTargetWithFlags #ifndef ServerTargetWithFlags
#define ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\ #define ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\
AllTarget(ProgramTargetName(server)) @@\ AllTarget(ProgramTargetName(server)) @@\
AllTarget(ProgramRelinkName(server)) @@\
ProgramTargetName(server): subdirs objects libs @@\ ProgramTargetName(server): subdirs objects libs @@\
MoveToBakFile($@) @@\ MoveToBakFile($@) @@\
LinkRule($@,$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\ LinkRule($@,$(SERVERLDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\
@@\ @@\
Concat(load,server): @@\ Concat(load,server): @@\
MoveToBakFile(ProgramTargetName(server)) @@\ MoveToBakFile(ProgramTargetName(server)) @@\
LinkRule(ProgramTargetName(server),$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\ LinkRule(ProgramTargetName(server),$(SERVERLDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\
@@\ @@\
loadX:: Concat(load,server) @@\ loadX:: Concat(load,server) @@\
@@\ @@\
...@@ -1118,10 +1135,12 @@ PurifyLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\ ...@@ -1118,10 +1135,12 @@ PurifyLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\ ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\ ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
@@\ @@\
RelinkProgram(ProgramTargetName(server),objects,libs,syslibs) @@\
InstallProgramWithFlags(server,$(BINDIR),flags) @@\ InstallProgramWithFlags(server,$(BINDIR),flags) @@\
@@\ @@\
clean:: @@\ clean:: @@\
RemoveFile(ProgramTargetName(server)) RemoveFile(ProgramTargetName(server)) @@\
RemoveFile(ProgramRelinkName(server))
#endif /* ServerTargetWithFlags */ #endif /* ServerTargetWithFlags */
/* /*
...@@ -1132,6 +1151,28 @@ clean:: @@\ ...@@ -1132,6 +1151,28 @@ clean:: @@\
ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,$(_NOOP_)) ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,$(_NOOP_))
#endif /* ServerTarget */ #endif /* ServerTarget */
/*
* Creates libX11 compat symlinks to enable execution of rpath-dependent
* programs.
*/
#ifndef LibX11Links
#define LibX11Links() @@\
AllTarget(libX11links) @@\
libX11links: @@\
$(LN) libNX_X11.so $(BUILDLIBDIR)/libX11.so @@\
$(LN) libNX_X11.so.6 $(BUILDLIBDIR)/libX11.so.6 @@\
$(LN) libNX_X11.so.6.3.0 $(BUILDLIBDIR)/libX11.so.6.3.0 @@\
touch libX11links @@\
@@\
clean:: @@\
RemoveFile($(BUILDLIBDIR)/libX11.so) @@\
RemoveFile($(BUILDLIBDIR)/libX11.so.6) @@\
RemoveFile($(BUILDLIBDIR)/libX11.so.6.3.0) @@\
RemoveFile(libX11links)
#endif /* LibX11Links */
#if DoRanlibCmd #if DoRanlibCmd
#define RanLibrary(args) $(RANLIB) args #define RanLibrary(args) $(RANLIB) args
#else #else
...@@ -1586,17 +1627,28 @@ install:: file @@\ ...@@ -1586,17 +1627,28 @@ install:: file @@\
/* /*
* RelinkProgram - relinks an executable program in preparation of installation
*/
#ifndef RelinkProgram
#define RelinkProgram(program,objects,libs,syslibs) @@\
ProgramRelinkName(program): program @@\
MoveToBakFile($@) @@\
LinkInstallRule($@,$(SERVERLDOPTIONS),objects,libs $(LDLIBS) syslibs)
#endif /* RelinkProgram */
/*
* InstallProgramWithFlags - generate rules to install an executable program * InstallProgramWithFlags - generate rules to install an executable program
* using given install flags. * using given install flags.
*/ */
#ifndef InstallProgramWithFlags #ifndef InstallProgramWithFlags
#if StripInstalledPrograms && CrossCompiling #if StripInstalledPrograms && CrossCompiling
#define InstallProgramWithFlags(program,dest,flags) @@\ #define InstallProgramWithFlags(program,dest,flags) @@\
InstallTarget(install,ProgramTargetName(program),$(INSTPGMFLAGS) flags,dest) @@\ InstallTarget(install,ProgramRelinkName(program),$(INSTPGMFLAGS) flags,dest) @@\
CrossStripCmd $(DESTDIR)dest/ProgramTargetName(program) CrossStripCmd $(DESTDIR)dest/ProgramTargetName(program)
#else #else
#define InstallProgramWithFlags(program,dest,flags) @@\ #define InstallProgramWithFlags(program,dest,flags) @@\
InstallTarget(install,ProgramTargetName(program),$(INSTPGMFLAGS) flags,dest) InstallTarget(install,ProgramRelinkName(program),$(INSTPGMFLAGS) flags,dest)
#endif /* StripInstalledPrograms && CrossCompiling */ #endif /* StripInstalledPrograms && CrossCompiling */
#endif /* InstallProgramWithFlags */ #endif /* InstallProgramWithFlags */
......
...@@ -1846,6 +1846,7 @@ MODLDCOMBINEFLAGS = ModuleLdCombineFlags ...@@ -1846,6 +1846,7 @@ MODLDCOMBINEFLAGS = ModuleLdCombineFlags
STD_DEFINES = StandardDefines $(PROJECT_DEFINES) STD_DEFINES = StandardDefines $(PROJECT_DEFINES)
SETITIMER_DEFINES = HasSetitimerDefines SETITIMER_DEFINES = HasSetitimerDefines
EXTRA_LOAD_FLAGS = ExtraLoadFlags EXTRA_LOAD_FLAGS = ExtraLoadFlags
EXTRA_INSTALL_LOAD_FLAGS = ExtraInstallLoadFlags
EXTRA_LDOPTIONS = ExtraLoadOptions EXTRA_LDOPTIONS = ExtraLoadOptions
EXTRA_LIBRARIES = MallocLibraries ExtraLibraries EXTRA_LIBRARIES = MallocLibraries ExtraLibraries
TAGS = TagsCmd TAGS = TagsCmd
...@@ -1995,6 +1996,7 @@ XEXT_EXTRA_DEFINES = ...@@ -1995,6 +1996,7 @@ XEXT_EXTRA_DEFINES =
LDPRELIB = LdPreLib $(INSTALLED_LIBS) LDPRELIB = LdPreLib $(INSTALLED_LIBS)
LDPOSTLIB = LdPostLib LDPOSTLIB = LdPostLib
LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
SERVERLDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS)
CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
......
...@@ -37,6 +37,7 @@ Imake.tmpl provides defaults for the following variables: ...@@ -37,6 +37,7 @@ Imake.tmpl provides defaults for the following variables:
ExtraFilesToClean extra files to remove on make clean ExtraFilesToClean extra files to remove on make clean
ExtraLibraries system-specific libraries need to link ExtraLibraries system-specific libraries need to link
ExtraLoadFlags system-specific loader flags ExtraLoadFlags system-specific loader flags
ExtraInstallLoadFlags system-specific loader flags for later installation
FileManSuffix man suffix for file format pages FileManSuffix man suffix for file format pages
FilesToClean files to delete in make clean FilesToClean files to delete in make clean
FortranCmd command to run Fortran compiler FortranCmd command to run Fortran compiler
......
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib #define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
#undef ExtraLoadFlags #undef ExtraLoadFlags
#define ExtraLoadFlags #define ExtraLoadFlags
#undef ExtraInstallLoadFlags
#define ExtraInstallLoadFlags
#define FbNoPixelAddrCode #define FbNoPixelAddrCode
#undef TermcapLibrary #undef TermcapLibrary
#define TermcapLibrary -ltermcap #define TermcapLibrary -ltermcap
......
...@@ -40,11 +40,18 @@ XCOMM XXX To rpath or not to rpath... ...@@ -40,11 +40,18 @@ XCOMM XXX To rpath or not to rpath...
#endif #endif
#ifndef RpathLoadFlags #ifndef RpathLoadFlags
#if UseRpath #if UseRpath
#define RpathLoadFlags -Wl,-rpath=$(USRLIBDIRPATH) #define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=\$$ORIGIN/$(BUILDLIBDIR)
#else #else
#define RpathLoadFlags /**/ #define RpathLoadFlags /**/
#endif #endif
#endif #endif
#ifndef RpathInstallLoadFlags
#if UseRpath
#define RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=$(USRLIBDIRPATH)
#else
#define RpathInstallLoadFlags /**/
#endif
#endif
#ifndef LibraryRpathLoadFlags #ifndef LibraryRpathLoadFlags
#define LibraryRpathLoadFlags RpathLoadFlags #define LibraryRpathLoadFlags RpathLoadFlags
#endif #endif
...@@ -60,9 +67,17 @@ XCOMM XXX To rpath or not to rpath... ...@@ -60,9 +67,17 @@ XCOMM XXX To rpath or not to rpath...
#ifndef ExtraLoadFlags #ifndef ExtraLoadFlags
#ifdef UseInstalled #ifdef UseInstalled
XCOMM XXX Maybe superfluous. XCOMM XXX Maybe superfluous.
#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link=$(USRLIBDIRPATH) #define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(USRLIBDIRPATH)
#else
#define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=\$$ORIGIN/$(BUILDLIBDIR)
#endif
#endif
#ifndef ExtraInstallLoadFlags
#ifdef UseInstalled
XCOMM XXX Maybe superfluous.
#define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(USRLIBDIRPATH)
#else #else
#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link=$(BUILDLIBDIR) #define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=\$$ORIGIN/$(BUILDLIBDIR)
#endif #endif
#endif #endif
......
...@@ -51,11 +51,18 @@ ...@@ -51,11 +51,18 @@
# endif # endif
#ifndef RpathLoadFlags #ifndef RpathLoadFlags
#if UseRpath #if UseRpath
#define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH) #define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,\$$ORIGIN/$(BUILDLIBDIR)
#else #else
#define RpathLoadFlags /**/ #define RpathLoadFlags /**/
#endif #endif
#endif #endif
#ifndef RpathInstallLoadFlags
#if UseRpath
#define RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,$(USRLIBDIRPATH)
#else
#define RpathInstallLoadFlags /**/
#endif
#endif
#ifndef LibraryRpathLoadFlags #ifndef LibraryRpathLoadFlags
#define LibraryRpathLoadFlags RpathLoadFlags #define LibraryRpathLoadFlags RpathLoadFlags
#endif #endif
...@@ -72,15 +79,28 @@ ...@@ -72,15 +79,28 @@
# if LinuxBinUtilsMajorVersion >= 26 # if LinuxBinUtilsMajorVersion >= 26
# ifdef UseInstalled # ifdef UseInstalled
# if LinuxBinUtilsMajorVersion < 27 # if LinuxBinUtilsMajorVersion < 27
# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(USRLIBDIRPATH) # define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,$(USRLIBDIRPATH)
# endif # endif
# else # else
# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR) # define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,\$$ORIGIN/$(BUILDLIBDIR)
# endif # endif
# else # else
# define ExtraLoadFlags RpathLoadFlags # define ExtraLoadFlags RpathLoadFlags
# endif # endif
# endif # endif
# ifndef ExtraInstallLoadFlags
# if LinuxBinUtilsMajorVersion >= 26
# ifdef UseInstalled
# if LinuxBinUtilsMajorVersion < 27
# define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,$(USRLIBDIRPATH)
# endif
# else
# define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,\$$ORIGIN/$(BUILDLIBDIR)
# endif
# else
# define ExtraInstallLoadFlags RpathInstallLoadFlags
# endif
# endif
# ifndef HardCodeLibdirFlag # ifndef HardCodeLibdirFlag
# define HardCodeLibdirFlag RpathLoadFlags # define HardCodeLibdirFlag RpathLoadFlags
# endif # endif
......
...@@ -319,6 +319,7 @@ NXAGENTNXLIBS = -L/usr/sfw/lib \ ...@@ -319,6 +319,7 @@ NXAGENTNXLIBS = -L/usr/sfw/lib \
-L../../../nxcompshad/src/.libs \ -L../../../nxcompshad/src/.libs \
-L../../lib/src/.libs \ -L../../lib/src/.libs \
-lrt \ -lrt \
-lX11 \
-lXcomp \ -lXcomp \
-lXcompshad \ -lXcompshad \
-lXrender \ -lXrender \
...@@ -334,6 +335,7 @@ NXAGENTNXLIBS = -L/usr/sfw/lib \ ...@@ -334,6 +335,7 @@ NXAGENTNXLIBS = -L/usr/sfw/lib \
NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \
-L../../../nxcompshad/src/.libs \ -L../../../nxcompshad/src/.libs \
-L../../lib/src/.libs \ -L../../lib/src/.libs \
-lX11 \
-lXcomp \ -lXcomp \
-lXcompshad \ -lXcompshad \
-lXrender \ -lXrender \
...@@ -349,6 +351,7 @@ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \ ...@@ -349,6 +351,7 @@ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \
-L../../../nxcompshad/src/.libs \ -L../../../nxcompshad/src/.libs \
-L../../lib/src/.libs \ -L../../lib/src/.libs \
-lkvm \ -lkvm \
-lX11 \
-lXcomp \ -lXcomp \
-lXcompshad \ -lXcompshad \
-lXrender \ -lXrender \
...@@ -364,6 +367,7 @@ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \ ...@@ -364,6 +367,7 @@ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \
NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \
-L../../../nxcompshad/src/.libs \ -L../../../nxcompshad/src/.libs \
-L../../lib/src/.libs \ -L../../lib/src/.libs \
-lX11 \
-lXcomp \ -lXcomp \
-lXcompshad \ -lXcompshad \
-lXrender \ -lXrender \
...@@ -387,6 +391,8 @@ NX_XSHADOWLIBNAME = libXcompshad.so ...@@ -387,6 +391,8 @@ NX_XSHADOWLIBNAME = libXcompshad.so
ServerTarget(nxagent,$(NXAGENTDIRS),$(NXAGENTOBJS), \ ServerTarget(nxagent,$(NXAGENTDIRS),$(NXAGENTOBJS), \
$(LIBCWRAPPER) $(NXCOMPEXT) $(NXAGENTLIBS) $(LOADABLEEXTS),$(NXAGENTNXLIBS) $(NXAGENTSYSLIBS) $(NXCOMPEXTSYSLIBS)) $(LIBCWRAPPER) $(NXCOMPEXT) $(NXAGENTLIBS) $(LOADABLEEXTS),$(NXAGENTNXLIBS) $(NXAGENTSYSLIBS) $(NXCOMPEXTSYSLIBS))
LibX11Links()
/* /*
* Hard coded target to build a static nxagent server. * Hard coded target to build a static nxagent server.
*/ */
...@@ -396,7 +402,7 @@ nxagent_static: nxagent ...@@ -396,7 +402,7 @@ nxagent_static: nxagent
else exit 0; fi else exit 0; fi
$(CCLINK) -o nxagent_static -static $(LDOPTIONS) $(NXAGENTOBJS) \ $(CCLINK) -o nxagent_static -static $(LDOPTIONS) $(NXAGENTOBJS) \
$(LIBCWRAPPER) $(NXCOMPEXT) $(NXAGENTLIBS) $(LOADABLEEXTS) $(LDLIBS) \ $(LIBCWRAPPER) $(NXCOMPEXT) $(NXAGENTLIBS) $(LOADABLEEXTS) $(LDLIBS) \
$(NXCOMPEXTSYSLIBS) $(NXAGENTSYSLIBS) $(EXTRA_LOAD_FLAGS) $(NXCOMPEXTSYSLIBS) $(NXAGENTSYSLIBS) $(EXTRA_INSTALL_LOAD_FLAGS)
/* /*
* Hard coded target to build a static nxagent server except for libX11 and libXext. * Hard coded target to build a static nxagent server except for libX11 and libXext.
...@@ -407,7 +413,7 @@ nxagent_static_nolibs: nxagent ...@@ -407,7 +413,7 @@ nxagent_static_nolibs: nxagent
else exit 0; fi else exit 0; fi
$(CCLINK) -o nxagent_static_nolibs -Wl,-Bstatic $(LDOPTIONS) $(NXAGENTOBJS) \ $(CCLINK) -o nxagent_static_nolibs -Wl,-Bstatic $(LDOPTIONS) $(NXAGENTOBJS) \
$(NXAGENTLIBS) $(LOADABLEEXTS) $(LIBCWRAPPER) $(LDLIBS) \ $(NXAGENTLIBS) $(LOADABLEEXTS) $(LIBCWRAPPER) $(LDLIBS) \
$(LDPRELIBS) $(SYSLIBS) -Wl,-Bdynamic -lNX_X11 -lXext $(EXTRA_LOAD_FLAGS) $(LDPRELIBS) $(SYSLIBS) -Wl,-Bdynamic -lNX_X11 -lXext $(EXTRA_INSTALL_LOAD_FLAGS)
#endif /* NXAgentServer */ #endif /* NXAgentServer */
#if defined(NXWinServer) && NXWinServer #if defined(NXWinServer) && NXWinServer
......
...@@ -13,6 +13,7 @@ libXcompshad_la_SOURCES = \ ...@@ -13,6 +13,7 @@ libXcompshad_la_SOURCES = \
$(NULL) $(NULL)
libXcompshad_la_LIBADD = \ libXcompshad_la_LIBADD = \
-lX11 \
@Xext_LIBS@ \ @Xext_LIBS@ \
@Xdamage_LIBS@ \ @Xdamage_LIBS@ \
@Xrandr_LIBS@ \ @Xrandr_LIBS@ \
...@@ -36,7 +37,11 @@ AM_CPPFLAGS = \ ...@@ -36,7 +37,11 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/../nx-X11/exports/include \ -I$(top_srcdir)/../nx-X11/exports/include \
$(NULL) $(NULL)
libXcompshad_la_LDFLAGS = -version-number @LT_COMPSHAD_VERSION@ -no-undefined libXcompshad_la_LDFLAGS = \
-version-number @LT_COMPSHAD_VERSION@ -no-undefined \
-Wl,--enable-new-dtags \
-R '$(libdir)/nx/X11' \
$(NULL)
libXcompshadincludedir = $(includedir)/nx libXcompshadincludedir = $(includedir)/nx
libXcompshadinclude_HEADERS = \ libXcompshadinclude_HEADERS = \
......
...@@ -16,6 +16,9 @@ AC_CONFIG_MACRO_DIR([m4]) ...@@ -16,6 +16,9 @@ AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([foreign no-dist-gzip dist-bzip2]) AM_INIT_AUTOMAKE([foreign no-dist-gzip dist-bzip2])
# Initialize libtool
AC_PROG_LIBTOOL
PROXY_VERSION=nxproxy_version PROXY_VERSION=nxproxy_version
AC_SUBST([PROXY_VERSION]) AC_SUBST([PROXY_VERSION])
...@@ -34,12 +37,6 @@ dnl We will work around this bug by using AX_PTHREAD and linking with pthread su ...@@ -34,12 +37,6 @@ dnl We will work around this bug by using AX_PTHREAD and linking with pthread su
dnl libXcomp for now. dnl libXcomp for now.
AX_PTHREAD([], AC_MSG_ERROR([no POSIX threads support detected])) AX_PTHREAD([], AC_MSG_ERROR([no POSIX threads support detected]))
AC_ARG_ENABLE([cxx11],
[AS_HELP_STRING([--enable-cxx11],
[enable optional features requiring C++11 support (disabled by default)])],
[AS_IF([test x$enableval = xyes],
[AX_CXX_COMPILE_STDCXX_11([], [mandatory])])])
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile
man/Makefile man/Makefile
......
...@@ -15,6 +15,7 @@ nxproxy_LDADD = \ ...@@ -15,6 +15,7 @@ nxproxy_LDADD = \
nxproxy_LDFLAGS = \ nxproxy_LDFLAGS = \
$(PTHREAD_LDFLAGS) \ $(PTHREAD_LDFLAGS) \
-Wl,--enable-new-dtags \
$(NULL) $(NULL)
nxproxy_CFLAGS = \ nxproxy_CFLAGS = \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment