summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2013-04-06 22:22:08 +0000
committerIgor Pashev <pashev.igor@gmail.com>2013-04-06 22:22:08 +0000
commit32c3e4729d0f68193bb1c6922fd6049296fea8b9 (patch)
tree60e078a1dcf6cf9eaf2dc13c68a921d7d5df802d
parent002d3bb944d51124ebf6fdb723e64d846e845876 (diff)
downloadxutils-dev-32c3e4729d0f68193bb1c6922fd6049296fea8b9.tar.gz
Patch sv4Lib.rules to build libraries in a way of Linux
-rw-r--r--debian/changelog6
-rw-r--r--debian/patches/dyson-sv4Lib.rules.patch370
-rw-r--r--debian/patches/series1
3 files changed, 377 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 2318eea..f59663b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xutils-dev (1:7.7~2+dyson3) unstable; urgency=low
+
+ * Patch sv4Lib.rules to build libraries in a way of Linux
+
+ -- Igor Pashev <pashev.igor@gmail.com> Sat, 06 Apr 2013 22:09:37 +0000
+
xutils-dev (1:7.7~2+dyson2) unstable; urgency=low
* Do not use Sun linker feature (mapfiles, lazyload).
diff --git a/debian/patches/dyson-sv4Lib.rules.patch b/debian/patches/dyson-sv4Lib.rules.patch
new file mode 100644
index 0000000..170e5e1
--- /dev/null
+++ b/debian/patches/dyson-sv4Lib.rules.patch
@@ -0,0 +1,370 @@
+Description: Dyson is like Linux
+ Build libraries like on Linux. Problems arised while
+ building xaw3dg: sonames was *.so.6.1 instead of *.so.6
+ sv4Lib.rules is included from svr4.cf, which is included
+ from sun.cf
+Index: xutils-dev/xorg-cf-files/sv4Lib.rules
+===================================================================
+--- xutils-dev.orig/xorg-cf-files/sv4Lib.rules 2013-04-06 13:20:35.051289308 +0000
++++ xutils-dev/xorg-cf-files/sv4Lib.rules 2013-04-06 21:56:23.358325526 +0000
+@@ -1,128 +1,138 @@
+-XCOMM $Xorg: sv4Lib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+-
+ /*
+- * SVR4 shared library rules
++ * Dyson shared library rules (GNU toolchain), based on lnxLib.rules
+ */
+
+-XCOMM $XFree86: xc/config/cf/sv4Lib.rules,v 3.8tsi Exp $
+-
+ #ifndef HasSharedLibraries
+ # define HasSharedLibraries YES
+ #endif
+-#ifndef SharedDataSeparation
+-# define SharedDataSeparation NO
+-#endif
+-#ifndef HasGcc2ForCplusplus
+-# define HasGcc2ForCplusplus HasGcc2
+-#endif
+-#ifndef SharedCodeDef
+-# define SharedCodeDef /**/
++#ifndef ForceNormalLib
++# define ForceNormalLib NO
+ #endif
+-#ifndef SharedLibraryDef
+-# define SharedLibraryDef /**/
+-#endif
+-#ifndef ShLibIncludeFile
+-# define ShLibIncludeFile <sv4Lib.tmpl>
+-#endif
+-#ifndef SharedLibraryLdCmd
+-# define SharedLibraryLdCmd $(LD)
++
++#ifndef UseRpath
++#define UseRpath NO
+ #endif
+-#ifndef SharedLibraryLoadFlags
+-# define SharedLibraryLoadFlags -G -z text
++
++#ifndef SharedOldX
++# define SharedOldX NO
+ #endif
++
++#ifndef SpecialMalloc
++# define SpecialMalloc NO
++# endif
++
++#define BaseShLibReqs -lc
++
++# ifndef SharedDataSeparation
++# define SharedDataSeparation NO
++# endif
++# ifndef SharedCodeDef
++# define SharedCodeDef /**/
++# endif
++# ifndef SharedLibraryDef
++# define SharedLibraryDef /**/
++# endif
++# ifndef ShLibIncludeFile
++# define ShLibIncludeFile <lnxLib.tmpl>
++# endif
+ #ifndef RpathLoadFlags
++#if UseRpath
++#define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
++#else
+ #define RpathLoadFlags /**/
+ #endif
++#endif
+ #ifndef LibraryRpathLoadFlags
+ #define LibraryRpathLoadFlags RpathLoadFlags
+ #endif
+-#ifndef HardCodeLibdirFlag
+-#define HardCodeLibdirFlag RpathLoadFlags
+-#endif
+-#ifndef PositionIndependentCFlags
+-# if HasGcc2
++# ifndef SharedLibraryLoadFlags
++# define SharedLibraryLoadFlags -shared
++# endif
++# ifndef PositionIndependentCFlags
+ # define PositionIndependentCFlags -fPIC
+-# else
+-# define PositionIndependentCFlags -K PIC
+ # endif
+-#endif
+-#ifndef PositionIndependentCplusplusFlags
+-# if HasGcc2ForCplusplus
++# ifndef PositionIndependentCplusplusFlags
+ # define PositionIndependentCplusplusFlags -fPIC
+-# else
+-# define PositionIndependentCplusplusFlags -K PIC
+ # endif
+-#endif
+-#ifndef UseExportLists
+-# define UseExportLists NO
+-#endif
+-#ifndef StripInstalledPrograms
+-# define StripInstalledPrograms NO
+-#endif
++# ifndef ExtraLoadFlags
++# if LinuxBinUtilsMajorVersion >= 26
++# ifdef UseInstalled
++# if LinuxBinUtilsMajorVersion < 27
++# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(USRLIBDIRPATH)
++# endif
++# else
++# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR)
++# endif
++# else
++# define ExtraLoadFlags RpathLoadFlags
++# endif
++# endif
++# ifndef HardCodeLibdirFlag
++# define HardCodeLibdirFlag RpathLoadFlags
++# endif
++# if !defined(ShlibGlobalsFlags)
++# define ShlibGlobalsFlags -Wl,-Bsymbolic
++# endif
+
+ /*
+ * InstallSharedLibrary - generate rules to install the shared library.
++ * NOTE: file must be executable, hence "INSTBINFLAGS"
+ */
+-#ifndef InstallSharedLibrary
+-#if StripInstalledPrograms
+-# define InstallSharedLibrary(libname,rev,dest) @@\
++# ifndef InstallSharedLibrary
++# define InstallSharedLibrary(libname,rev,dest) @@\
+ install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+- $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+- mcs -d Concat($(DESTDIR)dest/lib,libname.so.rev) @@\
+- @if $(SOSYMLINK); then (set -x; \ @@\
++ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
++ @T=`echo Concat($(DESTDIR)dest/lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`;\
++ set -x; $(RM) $$T && $(LN) Concat(lib,libname.so.rev) $$T @@\
++ @if $(SOSYMLINK); then (set -x; \
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+- cd $(DESTDIR)dest; \ @@\
+- $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so)); fi
+-#else
+-# define InstallSharedLibrary(libname,rev,dest) @@\
+-install:: Concat(lib,libname.so.rev) @@\
+- MakeDir($(DESTDIR)dest) @@\
+- $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+- @if $(SOSYMLINK); then (set -x; \ @@\
+- $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+- cd $(DESTDIR)dest; \ @@\
+- $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so)); fi
+-#endif
++ $(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)); fi
++# endif /* InstallSharedLibrary */
+
+-#endif /* InstallSharedLibrary */
++# ifndef InstallSharedLibtoolLibrary
++
++# define SetRevisions(rev) V=`expr rev : '\([^:]*\)'`; \ @@\
++ R=`expr rev : '.*:\([^:]*\):'`; \ @@\
++ A=`expr rev : '.*:\([^:]*\)'`; \ @@\
++ MAJ=`expr $$V - $$A`; \ @@\
++ MIN=$$A.$$R
++
++# define InstallSharedLibtoolLibrary(libname,rev,dest) @@\
++install:: Concat(lib,libname.so) @@\
++ MakeDir($(DESTDIR)dest) @@\
++ @set +e; SetRevisions(rev); \ @@\
++ set -xe; \ @@\
++ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.$$MAJ.$$MIN) $(DESTDIR)dest; \ @@\
++ $(RM) Concat($(DESTDIR)dest/lib,libname.so.$$MAJ); \ @@\
++ $(LN) Concat(lib,libname.so.$$MAJ.$$MIN) Concat($(DESTDIR)dest/lib,libname.so.$$MAJ); \ @@\
++ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
++ $(LN) Concat(lib,libname.so.$$MAJ.$$MIN) Concat($(DESTDIR)dest/lib,libname.so)
++# endif /* InstallSharedLibrary */
+
+ /*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+-#ifndef InstallSharedLibraryData
+-# define InstallSharedLibraryData(libname,rev,dest)
+-#endif /* InstallSharedLibraryData */
+-
+-#ifndef LinkWithExports
+-# if UseExportLists
+-# define LinkWithExports(libname,rev,solist,down,up) \
+- (cd down; $(CCENVSETUP) SharedLibraryLdCmd -o up/$@~ $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS)) @@\
+- if [ -f Concat(lib,libname.elist) ]; then \ @@\
+- $(RM) down/$@.exports $@.list; \ @@\
+- $(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic >$@.list; \ @@\
+- $(EXPORTLISTGEN) $@~ $@.list > down/$@.exports; \ @@\
+- (cd down; $(CCENVSETUP) SharedLibraryLdCmd -o up/$@~ $(SHLIBLDFLAGS) -h $@ ShlibExportListOpt($@.exports) solist $(REQUIREDLIBS)); \ @@\
+- $(RM) down/$@.exports $@.list; \ @@\
+- fi;
+-# else
+-# define LinkWithExports(libname,rev,solist,down,up) \
+- (cd down; $(CCENVSETUP) SharedLibraryLdCmd -o up/$@~ $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS))
+-# endif
+-#endif
++# ifndef InstallSharedLibraryData
++# define InstallSharedLibraryData(libname,rev,dest)
++# endif /* InstallSharedLibraryData */
++
+
+ /*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+-#ifndef SharedLibraryTarget
+-# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
++# ifndef SharedLibraryTarget
++# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+ AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+ Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+- LinkWithExports(libname,rev,solist,down,up) @@\
++ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; (set -x; \ @@\
++ cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\
++ (set -x; $(RM) $$SONAME; $(LN) $@ $$SONAME); \ @@\
++ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+@@ -132,20 +142,57 @@
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+ clean:: @@\
++ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
++ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+-#endif /* SharedLibraryTarget */
++# endif /* SharedLibraryTarget */
++
++
++# ifndef SharedLibtoolLibraryTarget
++# define SharedLibtoolLibraryTarget(libname,rev,solist,down,up) @@\
++AllTarget(Concat(lib,libname.so)) @@\
++ @@\
++Concat(lib,libname.so): solist $(EXTRALIBRARYDEPS) @@\
++ $(RM) $@~ @@\
++ @set +e; SetRevisions(rev); set -e; \ @@\
++ SONAME=$@.$$MAJ; \ @@\
++ (set -x; \ @@\
++ $(RM) $@.$$MAJ.$$MIN~; \ @@\
++ cd down; $(CC) -o up/$@.$$MAJ.$$MIN~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\
++ (set -x; \ @@\
++ $(RM) $$SONAME; $(LN) $@.$$MAJ.$$MIN $$SONAME); \ @@\
++ LinkBuildSonameLibrary($$SONAME); \ @@\
++ (set -x; \ @@\
++ $(RM) $@.$$MAJ.$$MIN; \ @@\
++ $(MV) $@.$$MAJ.$$MIN~ $@.$$MAJ.$$MIN; \ @@\
++ $(RM) $@; \ @@\
++ $(LN) $@.$$MAJ.$$MIN $@); \ @@\
++ LinkBuildLibraryInline($@.$$MAJ.$$MIN); \ @@\
++ LinkBuildLibraryInline($@) @@\
++ @@\
++clean:: @@\
++ @set +e; SetRevisions(rev); \ @@\
++ set -xe; \ @@\
++ $(RM) Concat(lib,libname.so.$$MAJ); \ @@\
++ $(RM) Concat(lib,libname.so.$$MAJ.$$MIN) @@\
++ $(RM) Concat(lib,libname.so)
++
++# endif /* SharedLibtoolLibraryTarget */
+
+ /*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+-#ifndef SharedDepLibraryTarget
+-# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
++# ifndef SharedDepLibraryTarget
++# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+ AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+ Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+- LinkWithExports(libname,rev,solist,down,up) @@\
++ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
++ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
++ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
++ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+@@ -155,6 +202,8 @@
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+ clean:: @@\
++ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
++ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+ #endif /* SharedDepLibraryTarget */
+@@ -168,7 +217,10 @@
+ @@\
+ Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+- (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
++ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
++ (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
++ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
++ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+@@ -178,25 +230,43 @@
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+ clean:: @@\
+- $(RM) Concat(lib,libname.so.rev)
+-#endif /* SharedDepCplusplusLibraryTarget */
++ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
++ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
++ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
++#endif /* SharedDepCplusplusLibraryTarget */
+
+-#ifndef SharedDepModuleTarget
+-#define SharedDepModuleTarget(name,deps,solist) @@\
++# ifndef SharedDepModuleTarget
++# define SharedDepModuleTarget(name,deps,solist) @@\
+ AllTarget(name) @@\
+ @@\
+ name: deps @@\
+ $(RM) $@~ @@\
+- SharedLibraryLdCmd -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\
++ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+ clean:: @@\
+ $(RM) name
+
+-#endif /* SharedDepModuleTarget */
++# endif /* SharedDepModuleTarget */
++
++# ifndef SharedDriModuleTarget
++# define SharedDriModuleTarget(name,deps,solist) @@\
++AllTarget(name) @@\
++ @@\
++name: deps @@\
++ $(RM) $@~ $@.map @@\
++ @(echo 'DRI_MODULE { global: __dri*; local: *; };' > $@.map) @@\
++ $(CC) -o $@~ -Wl,--version-script=$@.map $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
++ $(RM) $@ $@.map @@\
++ $(MV) $@~ $@ @@\
++ @@\
++clean:: @@\
++ $(RM) name @@\
++ $(RM) name.map
+
++# endif /* SharedDriModuleTarget */
+
+ /*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+@@ -204,3 +274,4 @@
+ #ifndef SharedLibraryDataTarget
+ # define SharedLibraryDataTarget(libname,rev,salist)
+ #endif /* SharedLibraryTarget */
++
diff --git a/debian/patches/series b/debian/patches/series
index 6beb24b..ed10075 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@
06_font_path.diff
07_gnu_manpath.diff
dyson-sun.cf.patch
+dyson-sv4Lib.rules.patch