This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch 3.6.x-rpm-debug in repository nx-libs. from b21228f Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug new d23fc94 nx-X11: build programs with a temporary RPATH/RUNPATH value and only use system location when installing. new bcaf5c2 Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: nx-X11/config/cf/Imake.rules | 33 ++++++++++++++++++++++++++++++--- nx-X11/config/cf/Imake.tmpl | 1 + nx-X11/config/cf/README | 1 + nx-X11/config/cf/cross.def | 2 ++ nx-X11/config/cf/gnuLib.rules | 17 ++++++++++++++++- nx-X11/config/cf/lnxLib.rules | 22 +++++++++++++++++++++- nx-X11/programs/Xserver/Imakefile | 4 ++-- 7 files changed, 73 insertions(+), 7 deletions(-) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.6.x-rpm-debug in repository nx-libs. commit d23fc941b2937b6fb23c82ed6579a7b242fefbd2 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri Dec 29 21:44:56 2017 +0100 nx-X11: build programs with a temporary RPATH/RUNPATH value and only use system location when installing. --- nx-X11/config/cf/Imake.rules | 33 ++++++++++++++++++++++++++++++--- nx-X11/config/cf/Imake.tmpl | 1 + nx-X11/config/cf/README | 1 + nx-X11/config/cf/cross.def | 2 ++ nx-X11/config/cf/gnuLib.rules | 17 ++++++++++++++++- nx-X11/config/cf/lnxLib.rules | 22 +++++++++++++++++++++- nx-X11/programs/Xserver/Imakefile | 4 ++-- 7 files changed, 73 insertions(+), 7 deletions(-) diff --git a/nx-X11/config/cf/Imake.rules b/nx-X11/config/cf/Imake.rules index f53a15b..b0d38fe 100644 --- a/nx-X11/config/cf/Imake.rules +++ b/nx-X11/config/cf/Imake.rules @@ -21,6 +21,7 @@ XCOMM --------------------------------------------------------------------- * _MUseCat (a,b,c) * ProgramTargetName (target) * HostProgramTargetName (target) + * ProgramRelinkName (target) * RunProgram (progvar,options) * RunProgramWithSetup (setup,progvar,options) * RemoveFile (file) @@ -44,6 +45,7 @@ XCOMM --------------------------------------------------------------------- * BuildIncludes (srclist,dstsubdir,dstupdir) * LinkRule (program,options,objects,libraries) * HostLinkRule (program,options,objects,libraries) + * LinkInstallRule (program,options,objects,libraries) * NoCmpScript (target) * NoConfigRec (target) * NormalProgramTarget (program,objects,deplibs,locallibs,syslibs) @@ -76,6 +78,7 @@ XCOMM --------------------------------------------------------------------- * InstallNonExecFileNoClobber (file,dest) * InstallNonExec (file,dest) * InstallProgramWithFlags (program,dest,flags) + * RelinkProgram (program,objects,libs,syslibs) * InstallProgram (program,dest) * InstallScript (program,dest) * InstallNamedProg (srcname,dstname,dest) @@ -316,6 +319,10 @@ XCOMM special target for clearmake @@\ #define HostProgramTargetName(target)target #endif +#ifndef ProgramRelinkName +#define ProgramRelinkName(target)Concat(target,-relink) +#endif + #ifndef RunProgram #define RunProgram(progvar,options) $(progvar) options #endif @@ -610,6 +617,14 @@ $(CCLINK) -o program options objects libraries $(EXTRA_LOAD_FLAGS) #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 * (differs from LinkRule if cross compiling) */ @@ -1118,6 +1133,7 @@ PurifyLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\ ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\ ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\ @@\ +RelinkProgram(ProgramTargetName(server),objects,libs,syslibs) @@\ InstallProgramWithFlags(server,$(BINDIR),flags) @@\ @@\ clean:: @@\ @@ -1586,17 +1602,28 @@ install:: file @@\ /* + * RelinkProgram - relinks an executable program in preparation of installation + */ +#ifndef RelinkProgram +#define RelinkProgram(program,objects,libs,syslibs) @@\ +ProgramRelinkName(server): program @@\ + MoveToBakFile($@) @@\ + LinkInstallRule($@,$(SERVERLDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\ +#endif /* RelinkProgram */ + + +/* * InstallProgramWithFlags - generate rules to install an executable program * using given install flags. */ #ifndef InstallProgramWithFlags #if StripInstalledPrograms && CrossCompiling -#define InstallProgramWithFlags(program,dest,flags) @@\ -InstallTarget(install,ProgramTargetName(program),$(INSTPGMFLAGS) flags,dest) @@\ +#define InstallProgramWithFlags(program,dest,flags) @@\ +InstallTarget(install,ProgramRelinkName(program),$(INSTPGMFLAGS) flags,dest) @@\ CrossStripCmd $(DESTDIR)dest/ProgramTargetName(program) #else #define InstallProgramWithFlags(program,dest,flags) @@\ -InstallTarget(install,ProgramTargetName(program),$(INSTPGMFLAGS) flags,dest) +InstallTarget(install,ProgramRelinkName(program),$(INSTPGMFLAGS) flags,dest) #endif /* StripInstalledPrograms && CrossCompiling */ #endif /* InstallProgramWithFlags */ diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl index 307d00d..285b534 100644 --- a/nx-X11/config/cf/Imake.tmpl +++ b/nx-X11/config/cf/Imake.tmpl @@ -1846,6 +1846,7 @@ MODLDCOMBINEFLAGS = ModuleLdCombineFlags STD_DEFINES = StandardDefines $(PROJECT_DEFINES) SETITIMER_DEFINES = HasSetitimerDefines EXTRA_LOAD_FLAGS = ExtraLoadFlags +EXTRA_INSTALL_LOAD_FLAGS = ExtraInstallLoadFlags EXTRA_LDOPTIONS = ExtraLoadOptions EXTRA_LIBRARIES = MallocLibraries ExtraLibraries TAGS = TagsCmd diff --git a/nx-X11/config/cf/README b/nx-X11/config/cf/README index aca6b39..59a08f4 100644 --- a/nx-X11/config/cf/README +++ b/nx-X11/config/cf/README @@ -37,6 +37,7 @@ Imake.tmpl provides defaults for the following variables: ExtraFilesToClean extra files to remove on make clean ExtraLibraries system-specific libraries need to link ExtraLoadFlags system-specific loader flags + ExtraInstallLoadFlags system-specific loader flags for later installation FileManSuffix man suffix for file format pages FilesToClean files to delete in make clean FortranCmd command to run Fortran compiler diff --git a/nx-X11/config/cf/cross.def b/nx-X11/config/cf/cross.def index ee3767c..d1b737f 100644 --- a/nx-X11/config/cf/cross.def +++ b/nx-X11/config/cf/cross.def @@ -27,6 +27,8 @@ #define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib #undef ExtraLoadFlags #define ExtraLoadFlags +#undef ExtraInstallLoadFlags +#define ExtraInstallLoadFlags #define FbNoPixelAddrCode #undef TermcapLibrary #define TermcapLibrary -ltermcap diff --git a/nx-X11/config/cf/gnuLib.rules b/nx-X11/config/cf/gnuLib.rules index fe0e82d..6d5818a 100644 --- a/nx-X11/config/cf/gnuLib.rules +++ b/nx-X11/config/cf/gnuLib.rules @@ -40,11 +40,18 @@ XCOMM XXX To rpath or not to rpath... #endif #ifndef RpathLoadFlags #if UseRpath -#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=$(USRLIBDIRPATH) +#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=$(BUILDLIBDIR) #else #define RpathLoadFlags /**/ #endif #endif +#ifndef RpathInstallLoadFlags +#if UseRpath +#define RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=$(USRLIBDIRPATH) +#else +#define RpathInstallLoadFlags /**/ +#endif +#endif #ifndef LibraryRpathLoadFlags #define LibraryRpathLoadFlags RpathLoadFlags #endif @@ -65,6 +72,14 @@ XCOMM XXX Maybe superfluous. #define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(BUILDLIBDIR) #endif #endif +#ifndef ExtraInstallLoadFlags +#ifdef UseInstalled +XCOMM XXX Maybe superfluous. +#define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(USRLIBDIRPATH) +#else +#define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(BUILDLIBDIR) +#endif +#endif /* * InstallSharedLibrary - generate rules to install the shared library. diff --git a/nx-X11/config/cf/lnxLib.rules b/nx-X11/config/cf/lnxLib.rules index 76fcb39..4b035c5 100644 --- a/nx-X11/config/cf/lnxLib.rules +++ b/nx-X11/config/cf/lnxLib.rules @@ -51,11 +51,18 @@ # endif #ifndef RpathLoadFlags #if UseRpath -#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,$(USRLIBDIRPATH) +#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,$(BUILDLIBDIR) #else #define RpathLoadFlags /**/ #endif #endif +#ifndef RpathInstallLoadFlags +#if UseRpath +#define RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,$(USRLIBDIRPATH) +#else +#define RpathInstallLoadFlags /**/ +#endif +#endif #ifndef LibraryRpathLoadFlags #define LibraryRpathLoadFlags RpathLoadFlags #endif @@ -81,6 +88,19 @@ # define ExtraLoadFlags RpathLoadFlags # 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,$(BUILDLIBDIR) +# endif +# else +# define ExtraInstallLoadFlags RpathInstallLoadFlags +# endif +# endif # ifndef HardCodeLibdirFlag # define HardCodeLibdirFlag RpathLoadFlags # endif diff --git a/nx-X11/programs/Xserver/Imakefile b/nx-X11/programs/Xserver/Imakefile index efab0de..f6dd115 100644 --- a/nx-X11/programs/Xserver/Imakefile +++ b/nx-X11/programs/Xserver/Imakefile @@ -400,7 +400,7 @@ nxagent_static: nxagent else exit 0; fi $(CCLINK) -o nxagent_static -static $(LDOPTIONS) $(NXAGENTOBJS) \ $(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. @@ -411,7 +411,7 @@ nxagent_static_nolibs: nxagent else exit 0; fi $(CCLINK) -o nxagent_static_nolibs -Wl,-Bstatic $(LDOPTIONS) $(NXAGENTOBJS) \ $(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 */ #if defined(NXWinServer) && NXWinServer -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.6.x-rpm-debug in repository nx-libs. commit bcaf5c26523fb85270df21748995ef2ec5418545 Merge: b21228f d23fc94 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri Dec 29 21:46:38 2017 +0100 Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug nx-X11/config/cf/Imake.rules | 33 ++++++++++++++++++++++++++++++--- nx-X11/config/cf/Imake.tmpl | 1 + nx-X11/config/cf/README | 1 + nx-X11/config/cf/cross.def | 2 ++ nx-X11/config/cf/gnuLib.rules | 17 ++++++++++++++++- nx-X11/config/cf/lnxLib.rules | 22 +++++++++++++++++++++- nx-X11/programs/Xserver/Imakefile | 4 ++-- 7 files changed, 73 insertions(+), 7 deletions(-) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git