aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-06-23 14:27:15 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-06-30 22:41:42 +0200
commita1e9abc7841adec8403c4bba6e394b5540ad8e78 (patch)
tree5ae7d463f5a67ddb3a35f0ab86fc225c386513a3
parent4cbfc5f98ea8311b0f01bcf2c219fd42c80adccd (diff)
downloadnx-libs-a1e9abc7841adec8403c4bba6e394b5540ad8e78.tar.gz
nx-libs-a1e9abc7841adec8403c4bba6e394b5540ad8e78.tar.bz2
nx-libs-a1e9abc7841adec8403c4bba6e394b5540ad8e78.zip
OPTFLAGS: Properly propagate build option flags to nxcomp{,ext,shad} and the nx-X11 build scripts.
Note: - The "normal" way to inject CFLAGS (and CPPFLAGS) into nx-X11 builds is copying those options over into the variable CDEBUGFLAGS. - LDFLAGS have to be handed to nx-X11 via LOCAL_LDFLAGS. This change also includes a slight change in the nx-X11 build order. Old build order: Main Makefile: - [...] - libNX_X11 + implicitly building nxcomp + implicitly building nxcompext - [...] - nxagent + implicitly building nxcompshad - [...] New build ordner: Main Makefile: - [...] - nxcomp - setup nx-X11 build env + cd nx-X11 && make BuildEnv - nxcompext - nxcompshad - nx-X11/lib/* - [...] - nxagent - [...] Fixes ArcticaProject/nx-libs#141 Fixes X2GoBTS#84
-rw-r--r--Makefile14
-rwxr-xr-xdebian/rules2
-rw-r--r--nx-X11/Makefile16
-rw-r--r--nx-X11/lib/X11/Imakefile38
-rw-r--r--nx-X11/programs/Xserver/Imakefile22
-rw-r--r--nx-libs.spec1
-rw-r--r--nxcomp/Makefile.in6
-rw-r--r--nxcomp/configure.in8
-rw-r--r--nxcompext/Makefile.in6
-rw-r--r--nxcompext/configure.in8
-rw-r--r--nxcompshad/Makefile.in6
-rw-r--r--nxcompshad/configure.in12
-rw-r--r--nxproxy/configure.in8
13 files changed, 62 insertions, 85 deletions
diff --git a/Makefile b/Makefile
index e2077ed5b..daff448cd 100644
--- a/Makefile
+++ b/Makefile
@@ -49,9 +49,7 @@ build-lite:
build-full:
# in the full case, we rely on "magic" in the nx-X11 imake-based makefiles...
- cd nxcomp && autoconf
- cd nxcompext && autoconf
- cd nxcompshad && autoconf
+ cd nxcomp && autoconf && (${CONFIGURE}) && ${MAKE}
# prepare nx-X11/config/cf/nxversion.def
sed \
@@ -62,6 +60,16 @@ build-full:
nx-X11/config/cf/nxversion.def.in \
> nx-X11/config/cf/nxversion.def
+ # prepare Makefiles and the nx-X11 symlinking magic
+ cd nx-X11 && make BuildEnv
+
+ # build libNX_X11 and libNX_Xext prior to building
+ # nxcomp{ext,shad}.
+ cd nx-X11/lib && make
+
+ cd nxcompext && autoconf && (${CONFIGURE}) && ${MAKE}
+ cd nxcompshad && autoconf && (${CONFIGURE}) && ${MAKE}
+
cd nx-X11 && ${MAKE} World
cd nxproxy && autoconf && (${CONFIGURE}) && ${MAKE}
diff --git a/debian/rules b/debian/rules
index a37478c21..275956c9a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -66,7 +66,7 @@ override_dh_auto_install:
override_dh_auto_build:
- LOCAL_LDFLAGS="$(LDFLAGS)" SHLIBGLOBALSFLAGS="$(LDFLAGS)" SHLIBDIR="$(LIBDIR)" PREFIX=/usr dh_auto_build --parallel
+ PREFIX=/usr dh_auto_build --parallel -- CDEBUGFLAGS="$(CPPFLAGS) $(CFLAGS)" LOCAL_LDFLAGS="$(LDFLAGS)" SHLIBGLOBALSFLAGS="$(LDFLAGS)" SHLIBDIR="$(LIBDIR)"
override_dh_strip:
dh_strip -plibnx-x11-6 --dbg-package=libnx-x11-6-dbg
diff --git a/nx-X11/Makefile b/nx-X11/Makefile
index cb8c86b2b..1096e62cf 100644
--- a/nx-X11/Makefile
+++ b/nx-X11/Makefile
@@ -39,6 +39,15 @@ World:
@echo ""
@date
@echo ""
+ if [ ! -f xmakefile ]; then ${MAKE} ${MFLAGS} BuildEnv; fi
+ ${MAKE} ${MAKE_OPTS} $(MFLAGS) $(WORLDOPTS) World
+ @echo ""
+ @date
+ @echo ""
+ @echo Full build of $(RELEASE) complete.
+ @echo ""
+
+BuildEnv:
@if [ -f xmakefile ]; then \
${MAKE} ${MAKE_OPTS} -k distclean || \
${MAKE} ${MAKE_OPTS} -k clean || \
@@ -52,12 +61,7 @@ World:
${MAKE} ${MAKE_OPTS} $(MFLAGS) BOOTSTRAPSUBDIRS= clean
${MAKE} ${MAKE_OPTS} $(MFLAGS) includes
${MAKE} ${MAKE_OPTS} $(MFLAGS) depend
- ${MAKE} ${MAKE_OPTS} $(MFLAGS) $(WORLDOPTS) World
- @echo ""
- @date
- @echo ""
- @echo Full build of $(RELEASE) complete.
- @echo ""
+
.PRECIOUS: Makefile
diff --git a/nx-X11/lib/X11/Imakefile b/nx-X11/lib/X11/Imakefile
index 81a1cfd3d..1ba1e4818 100644
--- a/nx-X11/lib/X11/Imakefile
+++ b/nx-X11/lib/X11/Imakefile
@@ -1139,44 +1139,6 @@ includes:: ks_tables.h
CONFIGURE ?= ./configure
-#if NXLibraries
-
-$(NX_XCOMPCONFIGTARGET):
- cd ../../../nxcomp && \
- ${CONFIGURE}
-
-$(NX_XCOMPEXTCONFIGTARGET):
- cd ../../../nxcompext && \
- ${CONFIGURE}
-
-#ifdef SunArchitecture
-$(NX_XCOMPLIBTARGET): $(NX_XCOMPCONFIGTARGET)
- ${MAKE} -C $(NX_XCOMPLIBDIR)
-
-$(NX_XCOMPEXTLIBTARGET): $(NX_XCOMPEXTCONFIGTARGET)
- ${MAKE} -C ../../../nxcompext
-
-#else
-$(NX_XCOMPLIBTARGET): $(NX_XCOMPCONFIGTARGET)
- ${MAKE} -C $(NX_XCOMPLIBDIR)
-
-$(NX_XCOMPEXTLIBTARGET): $(NX_XCOMPEXTCONFIGTARGET) $(NX_XCOMPLIBTARGET) lib$(LIBNAME).so.$(SOXLIBREV)
- ${MAKE} -C ../../../nxcompext
-
-#endif
-
-depend::
-
-lib$(LIBNAME).so.$(SOXLIBREV): $(NX_XCOMPLIBTARGET)
-
-all:: $(NX_XCOMPLIBTARGET)
-
-depend:: $(NX_XCOMPLIBTARGET)
-
-all:: $(NX_XCOMPEXTLIBTARGET)
-
-#endif
-
depend:: ks_tables.h
clean::
diff --git a/nx-X11/programs/Xserver/Imakefile b/nx-X11/programs/Xserver/Imakefile
index 0d820fad2..50031217e 100644
--- a/nx-X11/programs/Xserver/Imakefile
+++ b/nx-X11/programs/Xserver/Imakefile
@@ -455,27 +455,7 @@ NX_XSHADOWLIBNAME = cygXcompshad.dll
NX_XSHADOWLIBNAME = libXcompshad.so
#endif
-NX_XSHADOWLIBDIR = $(XTOP)/../nxcompshad
-NX_XSHADOWLIBTARGET = $(NX_XSHADOWLIBDIR)/$(NX_XSHADOWLIBNAME)
-NX_XSHADOWCONFIGTARGET = $(NX_XSHADOWLIBDIR)/config.status
-
-CONFIGURE ?= ./configure
-
-$(NX_XSHADOWCONFIGTARGET):
- cd $(NX_XSHADOWLIBDIR) && \
- ${CONFIGURE}
-
-#ifdef SunArchitecture
-$(NX_XSHADOWLIBTARGET): $(NX_XSHADOWCONFIGTARGET)
- cd $(NX_XSHADOWLIBDIR) && \
- ${MAKE}
-#else
-$(NX_XSHADOWLIBTARGET): $(NX_XSHADOWCONFIGTARGET)
- cd $(NX_XSHADOWLIBDIR) && \
- rm -f *.o && ${MAKE}
-#endif
-
-ServerTarget(nxagent,$(NX_XSHADOWLIBTARGET) $(NXAGENTDIRS),$(NXAGENTOBJS), \
+ServerTarget(nxagent,$(NXAGENTDIRS),$(NXAGENTOBJS), \
$(LIBCWRAPPER) $(NXAGENTLIBS) $(LOADABLEEXTS),$(NXAGENTSYSLIBS) $(NXAGENTNXLIBS))
/*
diff --git a/nx-libs.spec b/nx-libs.spec
index 770f1870a..8b2ecb09a 100644
--- a/nx-libs.spec
+++ b/nx-libs.spec
@@ -454,6 +454,7 @@ chmod a+x my_configure;
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
export SHLIBGLOBALSFLAGS="%{__global_ldflags}"
export LOCAL_LDFLAGS="%{__global_ldflags}"
+export CDEBUGFLAGS="%{__global_cppflags} %{__global_cflags}"
make %{?_smp_mflags} CONFIGURE="$PWD/my_configure" PREFIX=%{_prefix} USRLIBDIR=%{_libdir} SHLIBDIR=%{_libdir}
%install
diff --git a/nxcomp/Makefile.in b/nxcomp/Makefile.in
index 759ab6a4f..ee12c3dbb 100644
--- a/nxcomp/Makefile.in
+++ b/nxcomp/Makefile.in
@@ -41,6 +41,8 @@ CXXFLAGS = @CXXFLAGS@ @X_CFLAGS@ @DEFS@ \
CXXINCLUDES =
CXXDEFINES =
+CPPFLAGS = @CPPFLAGS@
+
#
# C programs have their own CFLAGS.
#
@@ -87,9 +89,9 @@ DEPENDINCLUDES = -I/usr/include/c++ -I/usr/include/g++ -I/usr/include/g++-3
.SUFFIXES: .cpp.c
.cpp.o:
- $(CXX) -c $(CXXFLAGS) $(CXXINCLUDES) $(CXXDEFINES) $<
+ $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXINCLUDES) $(CXXDEFINES) $<
.c.o:
- $(CC) -c $(CCFLAGS) $(CCINCLUDES) $(CCDEFINES) $<
+ $(CC) -c $(CPPFLAGS) $(CCFLAGS) $(CCINCLUDES) $(CCDEFINES) $<
LIBRARY = Xcomp
diff --git a/nxcomp/configure.in b/nxcomp/configure.in
index 47b29e7bc..6586f22b2 100644
--- a/nxcomp/configure.in
+++ b/nxcomp/configure.in
@@ -10,8 +10,12 @@ AC_SUBST(pkgconfigdir)
dnl Set our default compilation flags.
-CXXFLAGS="$CXXFLAGS -O3 -fno-rtti -fno-exceptions"
-CFLAGS="$CFLAGS -O3"
+if test "x$CXXFLAGS" = "x"; then
+ CXXFLAGS="-O3 -fno-rtti -fno-exceptions"
+fi
+if test "x$CFLAGS" = "x"; then
+ CFLAGS="$CFLAGS -O3"
+fi
dnl Reset default linking directives.
diff --git a/nxcompext/Makefile.in b/nxcompext/Makefile.in
index dd18c8053..415ffabb1 100644
--- a/nxcompext/Makefile.in
+++ b/nxcompext/Makefile.in
@@ -34,6 +34,8 @@ CXXFLAGS = @CXXFLAGS@ @X_CFLAGS@ @DEFS@ \
CXXINCLUDES = -I. -I../nxcomp
CXXDEFINES =
+CPPFLAGS = @CPPFLAGS@
+
CC = @CC@
CCFLAGS = @CFLAGS@ @X_CFLAGS@ @DEFS@ \
-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
@@ -78,9 +80,9 @@ DEPENDINCLUDES = -I/usr/include/c++ -I/usr/include/g++ -I/usr/include/g++-3
.SUFFIXES: .cpp.c
.cpp.o:
- $(CXX) -c $(CXXFLAGS) $(CXXINCLUDES) $<
+ $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXINCLUDES) $<
.c.o:
- $(CC) -c $(CCFLAGS) $(CCINCLUDES) $<
+ $(CC) -c $(CPPFLAGS) $(CCFLAGS) $(CCINCLUDES) $<
LIBRARY = Xcompext
diff --git a/nxcompext/configure.in b/nxcompext/configure.in
index 6078851b4..70bb9d121 100644
--- a/nxcompext/configure.in
+++ b/nxcompext/configure.in
@@ -10,8 +10,12 @@ AC_SUBST(pkgconfigdir)
dnl Reset default compilation flags.
-CXXFLAGS="$CXXFLAGS -O3"
-CFLAGS="$CFLAGS -O3"
+if test "x$CXXFLAGS" = "x"; then
+ CXXFLAGS="-O3"
+fi
+if test "x$CFLAGS" == "x"; then
+ CFLAGS="-O3"
+fi
dnl Reset default linking directives.
diff --git a/nxcompshad/Makefile.in b/nxcompshad/Makefile.in
index 68bb1fbad..9c2b6f4fd 100644
--- a/nxcompshad/Makefile.in
+++ b/nxcompshad/Makefile.in
@@ -36,6 +36,8 @@ CXXFLAGS = @CXXFLAGS@ @X_CFLAGS@ @DEFS@ \
CXXINCLUDES =
CXXDEFINES =
+CPPFLAGS = @CPPFLAGS@
+
#
# C programs don't share the C++ flags. They should
# have their own @CCFLAGS@.
@@ -99,9 +101,9 @@ DEPENDINCLUDES = -I/usr/include/g++ -I/usr/include/g++-3
.SUFFIXES: .cpp.c
.cpp.o:
- $(CXX) -c $(CXXFLAGS) $(CXXINCLUDES) $(CXXDEFINES) $<
+ $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXINCLUDES) $(CXXDEFINES) $<
.c.o:
- $(CC) -c $(CCFLAGS) $(CCINCLUDES) $(CCDEFINES) $<
+ $(CC) -c $(CPPFLAGS) $(CCFLAGS) $(CCINCLUDES) $(CCDEFINES) $<
LIBRARY = Xcompshad
diff --git a/nxcompshad/configure.in b/nxcompshad/configure.in
index 7ec064cc6..226b13ef8 100644
--- a/nxcompshad/configure.in
+++ b/nxcompshad/configure.in
@@ -10,8 +10,12 @@ AC_SUBST(pkgconfigdir)
dnl Reset default compilation flags.
-CXXFLAGS="$CXXFLAGS -O3"
-CPPFLAGS="$CPPFLAGS -O3"
+if test "x$CXXFLAGS" == "x"; then
+ CXXFLAGS="-O3"
+fi
+if test "x$CPPFLAGS" == "x"; then
+ CPPFLAGS="-O3"
+fi
dnl Reset default linking directives.
@@ -80,8 +84,8 @@ case "${gcc_version}" in
*)
AC_MSG_RESULT([yes])
- CXXFLAGS="$CXXFLAGS -Wmissing-declarations -Wnested-externs"
- CPPFLAGS="$CPPFLAGS -Wmissing-declarations -Wnested-externs"
+ CXXFLAGS="$CXXFLAGS -Wmissing-declarations"
+ CPPFLAGS="$CPPFLAGS -Wmissing-declarations"
;;
esac
diff --git a/nxproxy/configure.in b/nxproxy/configure.in
index 268584216..12e2a08d2 100644
--- a/nxproxy/configure.in
+++ b/nxproxy/configure.in
@@ -7,8 +7,12 @@ AC_PREREQ(2.13)
dnl Reset default compilation flags.
-CXXFLAGS="$CXXFLAGS -O3"
-CPPFLAGS="$CPPFLAGS -O3"
+if test "x$CXXFLAGS" == "x"; then
+ CXXFLAGS="-O3"
+fi
+if test "x$CPPFLAGS" == "x"; then
+ CPPFLAGS="-O3"
+fi
dnl Prefer headers and libraries from nx-X11 if present.