Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nx-libs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dimbor
nx-libs
Commits
3c818997
Unverified
Commit
3c818997
authored
Jan 05, 2018
by
Mihai Moldovan
Browse files
Options
Browse Files
Download
Plain Diff
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
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
132 additions
and
23 deletions
+132
-23
Makefile
Makefile
+2
-2
rules
debian/rules
+8
-0
Imake.rules
nx-X11/config/cf/Imake.rules
+58
-6
Imake.tmpl
nx-X11/config/cf/Imake.tmpl
+2
-0
README
nx-X11/config/cf/README
+1
-0
cross.def
nx-X11/config/cf/cross.def
+2
-0
gnuLib.rules
nx-X11/config/cf/gnuLib.rules
+18
-3
lnxLib.rules
nx-X11/config/cf/lnxLib.rules
+23
-3
Imakefile
nx-X11/programs/Xserver/Imakefile
+8
-2
Makefile.am
nxcompshad/src/Makefile.am
+6
-1
configure.ac
nxproxy/configure.ac
+3
-6
Makefile.am
nxproxy/src/Makefile.am
+1
-0
No files found.
Makefile
View file @
3c818997
...
...
@@ -176,7 +176,7 @@ install-full:
$(MAKE)
-C
nxcompshad
install
$(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_FILE)
nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm
$(DESTDIR)$(PREFIX)/share/pixmaps
...
...
@@ -201,7 +201,7 @@ install-full:
cp
-aL
nx-X11/exports/include/*
nx-X11/.build-exports/include
# 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
)
;
\
libdir
=
$$
(
dirname
$$
libpath
)
;
\
link
=
$$
(
readlink
$$
libpath
)
;
\
...
...
debian/rules
View file @
3c818997
...
...
@@ -124,5 +124,13 @@ override_dh_strip:
override_dh_makeshlibs:
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:
uscan --noconf --force-download --rename --download-current-version --destdir=..
nx-X11/config/cf/Imake.rules
View file @
3c818997
...
...
@@ -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)
...
...
@@ -56,6 +58,7 @@ XCOMM ---------------------------------------------------------------------
* ComplexProgramTarget_3 (program,locallib,syslib)
* ServerTargetWithFlags (server,subdirs,objects,libs,syslibs,flags)
* ServerTarget (server,subdirs,objects,libs,syslibs)
* LibX11Links ()
* MoveToBakFile (file)
* RMoveToBakFile (file)
* RanLibrary (args)
...
...
@@ -76,6 +79,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 +320,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 +618,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)
*/
...
...
@@ -1101,13 +1117,14 @@ CplusplusProgramTargetHelper(program,SRCS10,OBJS10,DEPLIBS10,locallib,syslib)
#ifndef ServerTargetWithFlags
#define ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\
AllTarget(ProgramTargetName(server)) @@\
AllTarget(ProgramRelinkName(server)) @@\
ProgramTargetName(server): subdirs objects libs @@\
MoveToBakFile($@) @@\
LinkRule($@,$(
LDOPTIONS),objects,libs $(LDLIBS) syslibs)
@@\
LinkRule($@,$(
SERVERLDOPTIONS),objects,libs $(LDLIBS) syslibs)
@@\
@@\
Concat(load,server): @@\
MoveToBakFile(ProgramTargetName(server)) @@\
LinkRule(ProgramTargetName(server),$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\
LinkRule(ProgramTargetName(server),$(
SERVER
LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\
@@\
loadX:: Concat(load,server) @@\
@@\
...
...
@@ -1118,10 +1135,12 @@ 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:: @@\
RemoveFile(ProgramTargetName(server))
RemoveFile(ProgramTargetName(server)) @@\
RemoveFile(ProgramRelinkName(server))
#endif /* ServerTargetWithFlags */
/*
...
...
@@ -1132,6 +1151,28 @@ clean:: @@\
ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,$(_NOOP_))
#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
#define RanLibrary(args) $(RANLIB) args
#else
...
...
@@ -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
* using given install flags.
*/
#ifndef InstallProgramWithFlags
#if StripInstalledPrograms && CrossCompiling
#define InstallProgramWithFlags(program,dest,flags) @@\
InstallTarget(install,Program
TargetName(program),$(INSTPGMFLAGS) flags,dest)
@@\
#define InstallProgramWithFlags(program,dest,flags)
@@\
InstallTarget(install,Program
RelinkName(program),$(INSTPGMFLAGS) flags,dest)
@@\
CrossStripCmd $(DESTDIR)dest/ProgramTargetName(program)
#else
#define InstallProgramWithFlags(program,dest,flags) @@\
InstallTarget(install,Program
Target
Name(program),$(INSTPGMFLAGS) flags,dest)
InstallTarget(install,Program
Relink
Name(program),$(INSTPGMFLAGS) flags,dest)
#endif /* StripInstalledPrograms && CrossCompiling */
#endif /* InstallProgramWithFlags */
...
...
nx-X11/config/cf/Imake.tmpl
View file @
3c818997
...
...
@@ -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
...
...
@@ -1995,6 +1996,7 @@ XEXT_EXTRA_DEFINES =
LDPRELIB = LdPreLib $(INSTALLED_LIBS)
LDPOSTLIB = LdPostLib
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)
LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
...
...
nx-X11/config/cf/README
View file @
3c818997
...
...
@@ -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
...
...
nx-X11/config/cf/cross.def
View file @
3c818997
...
...
@@ -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
...
...
nx-X11/config/cf/gnuLib.rules
View file @
3c818997
...
...
@@ -40,11 +40,18 @@ XCOMM XXX To rpath or not to rpath...
#endif
#ifndef RpathLoadFlags
#if UseRpath
#define RpathLoadFlags -Wl,-
rpath=$(USRLIBDIRPATH
)
#define RpathLoadFlags -Wl,-
-enable-new-dtags -Wl,-rpath=\$$ORIGIN/$(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
...
...
@@ -60,9 +67,17 @@ XCOMM XXX To rpath or not to rpath...
#ifndef ExtraLoadFlags
#ifdef UseInstalled
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
#define Extra
LoadFlags RpathLoadFlags -Wl,-rpath-link=
$(BUILDLIBDIR)
#define Extra
InstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=\$$ORIGIN/
$(BUILDLIBDIR)
#endif
#endif
...
...
nx-X11/config/cf/lnxLib.rules
View file @
3c818997
...
...
@@ -51,11 +51,18 @@
# endif
#ifndef RpathLoadFlags
#if UseRpath
#define RpathLoadFlags -Wl,-
rpath,$(USRLIBDIRPATH
)
#define RpathLoadFlags -Wl,-
-enable-new-dtags -Wl,-rpath,\$$ORIGIN/$(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
...
...
@@ -72,15 +79,28 @@
# if LinuxBinUtilsMajorVersion >= 26
# ifdef UseInstalled
# if LinuxBinUtilsMajorVersion < 27
# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(USRLIBDIRPATH)
# define ExtraLoadFlags RpathLoadFlags -Wl,-
-enable-new-dtags -Wl,-
rpath-link,$(USRLIBDIRPATH)
# endif
# else
# define ExtraLoadFlags RpathLoadFlags -Wl,-
rpath-link,
$(BUILDLIBDIR)
# define ExtraLoadFlags RpathLoadFlags -Wl,-
-enable-new-dtags -Wl,-rpath-link,\$$ORIGIN/
$(BUILDLIBDIR)
# endif
# else
# 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,\$$ORIGIN/$(BUILDLIBDIR)
# endif
# else
# define ExtraInstallLoadFlags RpathInstallLoadFlags
# endif
# endif
# ifndef HardCodeLibdirFlag
# define HardCodeLibdirFlag RpathLoadFlags
# endif
...
...
nx-X11/programs/Xserver/Imakefile
View file @
3c818997
...
...
@@ -319,6 +319,7 @@ NXAGENTNXLIBS = -L/usr/sfw/lib \
-L../../../nxcompshad/src/.libs \
-L../../lib/src/.libs \
-lrt \
-lX11 \
-lXcomp \
-lXcompshad \
-lXrender \
...
...
@@ -334,6 +335,7 @@ NXAGENTNXLIBS = -L/usr/sfw/lib \
NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \
-L../../../nxcompshad/src/.libs \
-L../../lib/src/.libs \
-lX11 \
-lXcomp \
-lXcompshad \
-lXrender \
...
...
@@ -349,6 +351,7 @@ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \
-L../../../nxcompshad/src/.libs \
-L../../lib/src/.libs \
-lkvm \
-lX11 \
-lXcomp \
-lXcompshad \
-lXrender \
...
...
@@ -364,6 +367,7 @@ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \
NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \
-L../../../nxcompshad/src/.libs \
-L../../lib/src/.libs \
-lX11 \
-lXcomp \
-lXcompshad \
-lXrender \
...
...
@@ -387,6 +391,8 @@ NX_XSHADOWLIBNAME = libXcompshad.so
ServerTarget(nxagent,$(NXAGENTDIRS),$(NXAGENTOBJS), \
$(LIBCWRAPPER) $(NXCOMPEXT) $(NXAGENTLIBS) $(LOADABLEEXTS),$(NXAGENTNXLIBS) $(NXAGENTSYSLIBS) $(NXCOMPEXTSYSLIBS))
LibX11Links()
/*
* Hard coded target to build a static nxagent server.
*/
...
...
@@ -396,7 +402,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.
...
...
@@ -407,7 +413,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
...
...
nxcompshad/src/Makefile.am
View file @
3c818997
...
...
@@ -13,6 +13,7 @@ libXcompshad_la_SOURCES = \
$(NULL)
libXcompshad_la_LIBADD
=
\
-lX11
\
@Xext_LIBS@
\
@Xdamage_LIBS@
\
@Xrandr_LIBS@
\
...
...
@@ -36,7 +37,11 @@ AM_CPPFLAGS = \
-I
$(top_srcdir)
/../nx-X11/exports/include
\
$(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
libXcompshadinclude_HEADERS
=
\
...
...
nxproxy/configure.ac
View file @
3c818997
...
...
@@ -16,6 +16,9 @@ AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([foreign no-dist-gzip dist-bzip2])
# Initialize libtool
AC_PROG_LIBTOOL
PROXY_VERSION=nxproxy_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
dnl libXcomp for now.
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([
Makefile
man/Makefile
...
...
nxproxy/src/Makefile.am
View file @
3c818997
...
...
@@ -15,6 +15,7 @@ nxproxy_LDADD = \
nxproxy_LDFLAGS
=
\
$(PTHREAD_LDFLAGS)
\
-Wl
,--enable-new-dtags
\
$(NULL)
nxproxy_CFLAGS
=
\
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment