X Strike Force XFree86 SVN commit: rev 945 - in branches/4.3.0/sid/debian: . patches
Author: branden
Date: 2004-01-20 15:55:03 -0500 (Tue, 20 Jan 2004)
New Revision: 945
Modified:
branches/4.3.0/sid/debian/patches/003_linux.cf_and_xfree86.cf.diff
branches/4.3.0/sid/debian/patches/004_imake_manpage_handling_overhaul.diff
branches/4.3.0/sid/debian/rules
Log:
Rewrite and better-document Render, Xcursor, Xft (2.x), and XRender import
logic. Stop placing imported libraries and headers in a directory called
"debian/local/exports", which is a stupid and counter-intutitive name for
resources that are *im*ported. The imports are now placed at the top of
the package build directory in "imports/".
Ensure that GccAliasingArgs are passed to GCC on all architectures when
building.
Define CplusplusCmd to be "g++" and pass -D__ELF__ to the assembler on
unknown architectures that use the ELF object format.
Improve comments in Debian section of xc/config/cf/linux.cf.
Whitespace police.
Adjust patch offsets as needed.
Modified: branches/4.3.0/sid/debian/patches/003_linux.cf_and_xfree86.cf.diff
===================================================================
--- branches/4.3.0/sid/debian/patches/003_linux.cf_and_xfree86.cf.diff 2004-01-20 20:47:39 UTC (rev 944)
+++ branches/4.3.0/sid/debian/patches/003_linux.cf_and_xfree86.cf.diff 2004-01-20 20:55:03 UTC (rev 945)
@@ -52,8 +52,8 @@
# endif
#endif
---- xc/config/cf/linux.cf~ 2003-09-21 16:23:04.000000000 -0500
-+++ xc/config/cf/linux.cf 2003-09-21 16:23:06.000000000 -0500
+--- xc/config/cf/linux.cf.orig 2004-01-19 17:18:24.000000000 -0500
++++ xc/config/cf/linux.cf 2004-01-19 18:00:57.000000000 -0500
@@ -93,17 +93,23 @@
#endif
@@ -61,9 +61,9 @@
+# ifndef DefaultGcc2OptimizeOpt
+# define DefaultGcc2OptimizeOpt -O2
+# endif
-+# define DefaultGcc2AxpOpt DefaultGcc2OptimizeOpt
-+# define DefaultGcc2i386Opt DefaultGcc2OptimizeOpt
-+# define DefaultGcc2PpcOpt DefaultGcc2OptimizeOpt
++# define DefaultGcc2AxpOpt DefaultGcc2OptimizeOpt GccAliasingArgs
++# define DefaultGcc2i386Opt DefaultGcc2OptimizeOpt GccAliasingArgs
++# define DefaultGcc2PpcOpt DefaultGcc2OptimizeOpt GccAliasingArgs
# define SystemManDirectory /usr/share/man
# define HasPam YES
# define HasTk YES
@@ -80,17 +80,23 @@
# define XF86SetupUsesStaticTcl NO
/* un-comment this when it is un-broken */
/* # define JoystickSupport YES */
-@@ -152,14 +158,59 @@
+@@ -152,33 +158,82 @@
# define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xv i18n xterm
# define BuildRman NO
# define BuildHtmlManPages NO
-+# define StaticNeedsPicForShared NO /* we handle provide static libraries with PIC symbols using a different method */
++/*
++ * The XFree86 Debian package uses a local patch that defines a
++ * PicLibraryTarget() Imake rule, instead of using upstream's method.
++ */
++# define StaticNeedsPicForShared NO
+# define KernelVersionInBanner YES
+/* The TT/Meltho fonts are all under non-free licenses. */
+# define BuildTrueTypeFonts NO
+# define BuildBethMarduthoFonts NO
-+
-+/* We build-dep on expat, fontconfig, Xrender, Xft and Xcursor */
++/*
++ * The XFree86 Debian package build-depends on external Expat, Fontconfig,
++ * Freetype, Render, Xcursor, and Xft libraries.
++ */
+# define BuildExpatLibrary NO
+# define HasExpat YES
+# define ExpatIncDirStandard YES
@@ -98,53 +104,133 @@
+# define HasFontconfig YES
+# define UseFontconfig YES
+# define FontconfigIncDir /usr/include/fontconfig
++# define BuildFreetype2Library NO
++# define HasFreetype2 YES
++# define BuildRenderLibrary NO
++# define HasRenderLibrary YES
++# define BuildXcursorLibrary NO
++# define HasXcursorLibrary YES
++# define IconDir Concat(ProjectRoot,/lib/X11/icons)
+# define BuildXftLibrary NO
+# define HasXftLibrary YES
+# define BuildXft1Library YES
-+# define IconDir Concat(ProjectRoot,/lib/X11/icons)
-+# define BuildXcursorLibrary NO
-+# define HasXcursorLibrary YES
-+# define BuildRenderLibrary NO
-+# define HasRenderLibrary YES
+
+# ifdef UseInstalled
-+# define RenderLibraryDir /usr/X11R6
-+# define XftLibraryDir /usr/X11R6
++# define RenderLibraryDir /usr
++# define XftLibraryDir /usr
+# define XcursorLibraryDir /usr
+# else
-+/* for Debian xfree86 build hack */
-+# define RenderLibraryDir $(TOP)/../../debian/local/exports
-+# define XftLibraryDir $(TOP)/../../debian/local/exports
-+# define XcursorLibraryDir $(TOP)/../../debian/local/exports
++/* The XFree86 Debian package uses a special hack to find these libraries. */
++# define RenderLibraryDir $(TOP)/../../imports
++# define XftLibraryDir $(TOP)/../../imports
++# define XcursorLibraryDir $(TOP)/../../imports
+# endif
- /* we build-depend on libfreetype6-dev (FreeType 2.x) */
- # define BuildFreetype2Library NO
- # define HasFreetype2 YES
+-/* we build-depend on libfreetype6-dev (FreeType 2.x) */
+-# define BuildFreetype2Library NO
+-# define HasFreetype2 YES
-/* m68k has no 2.4 kernel yet */
-# ifndef Mc68020Architecture
-# define HasLinuxInput YES
-# endif
-+
+/*
-+ We want to be sure that the normal XFree86 X server and the debugging X
-+ server use the same FreeType2 library. We'd *like* it if we could achieve
-+ this by both packages dynamically linking against the system's FreeType2
-+ library; however, the normal X server package (xserver-xfree86) *cannot* be
-+ built dynamically linked against the FreeType2 library when the module
-+ loader is enabled because of code/design issues. Therefore, we encapsulate
-+ XFree86's internal "fork" of the FreeType2 library into *both*
-+ xserver-xfree86 and xserver-xfree86-dbg. When it becomes possible to build
-+ the module-loading server against an external FreeType2 shared library, we
-+ can drop this define:
-+*/
++ * We want to be sure that the normal XFree86 X server and the debugging X
++ * server use the same FreeType2 library. We'd *like* it if we could
++ * achieve this by both packages dynamically linking against the system's
++ * FreeType2 library; however, the normal X server package
++ * (xserver-xfree86) *cannot* be built dynamically linked against the
++ * FreeType2 library when the module loader is enabled because of
++ * code/design issues. Therefore, we encapsulate XFree86's internal "fork"
++ * of the FreeType2 library into *both* xserver-xfree86 and
++ * xserver-xfree86-dbg. When it becomes possible to build the
++ * module-loading server against an external FreeType2 shared library, we
++ * can drop this define:
++ */
+# define FontLibSharedFreeType NO
+
+# define HasLinuxInput YES
# define HasXdmAuth YES
# define HasLatex YES
- /* at present, glide2 only works on i386 */
-@@ -700,7 +751,7 @@
+-/* at present, glide2 only works on i386 */
++/* Glide2 only works on i386. */
+ # ifdef i386Architecture
+ # define HasGlide2 YES
+ # define Glide2IncDir /usr/include/glide
+ # endif /* i386Architecture */
+-/* at present, glide3 only works on alpha and i386 */
++/* Glide3 only works on alpha and i386. */
+ # if defined(i386Architecture) || defined(AlphaArchitecture)
+ # define HasGlide3 YES
+ # define Glide3IncDir /usr/include/glide3
+ # endif /* i386Architecture || AlphaArchitecture */
+-/* extended instruction set support */
++/* Enable extended instruction set support. */
+ # ifdef i386Architecture
+-# define HasX86Support YES
++# define HasX86Support YES
+ # define HasMMXSupport YES
+ # define Has3DNowSupport YES
+-/* 2.4 is not yet the official (or predominant) kernel in unstable */
+-# define HasSSESupport NO
++# define HasSSESupport YES
+ # endif /* i386Architecture */
+ # endif /* DebianMaintainer */
+ #endif /* LinuxDebian */
+@@ -649,10 +704,10 @@
+ # if UseElfFormat
+ # ifdef AlphaArchitecture
+ # define CcCmd gcc -b alpha-linux
++# define CplusplusCmd c++ -b alpha-linux
+ # define AsCmd CcCmd -c -x assembler
+ # define LdCmd CcCmd -nostdlib -Wl,"-m elf64alpha"
+ # define AsmDefines -D__ELF__
+-# define CplusplusCmd c++ -b alpha-linux
+ # endif /* AlphaArchitecture */
+ # ifdef HPArchitecture
+ # define CcCmd gcc
+@@ -664,10 +719,10 @@
+ # endif /* HPArchitecture */
+ # ifdef i386Architecture
+ # define CcCmd gcc -b i486-linux
++# define CplusplusCmd c++ -b i486-linux
+ # define AsCmd CcCmd -c -x assembler
+ # define LdCmd CcCmd -nosdlib -Wl,"-m elf_i386"
+ # define AsmDefines -D__ELF__
+-# define CplusplusCmd c++ -b i486-linux
+ # endif /* i386Architecture */
+ # ifdef ia64Architecture
+ # define CcCmd gcc
+@@ -678,29 +733,30 @@
+ # endif /* ia64Architecture */
+ # ifdef Mc68020Architecture
+ # define CcCmd gcc -b m68k-linux
++# define CplusplusCmd c++ -b m68k-linux
+ # define AsCmd CcCmd -c -x assembler
+ # define LdCmd CcCmd -nostdlib -W,l"-m m68kelf"
+ # define AsmDefines -D__ELF__
+-# define CplusplusCmd c++ -b m68k-linux
+ # endif /* Mc68020Architecture */
+ # ifdef x86_64Architecture
+-# define CcCmd gcc
+-# define CplusplusCmd g++
+-# define AsCmd CcCmd -c -x assembler
+-# define LdCmd CcCmd -nostdlib
+-# define AsmDefines -D__ELF__
++# define CcCmd gcc
++# define CplusplusCmd g++
++# define AsCmd CcCmd -c -x assembler
++# define LdCmd CcCmd -nostdlib
++# define AsmDefines -D__ELF__
+ # endif /* x86_64Architecture */
+ # else
+ # define CcCmd gcc
++# define CplusplusCmd g++
+ # define AsCmd CcCmd -c -x assembler
+ # define LdCmd CcCmd -nostdlib
+-# define AsmDefines -DUSE_GAS
++# define AsmDefines -DUSE_GAS -D__ELF__
+ # endif
+ #endif
#if UseElfFormat
# ifndef DoLoadableServer
@@ -153,7 +239,7 @@
# define DoLoadableServer NO
# else
# define DoLoadableServer YES
-@@ -745,7 +796,7 @@
+@@ -745,7 +801,7 @@
#ifdef AlphaArchitecture
# ifndef OptimizedCDebugFlags
@@ -162,25 +248,27 @@
# endif
# define LinuxMachineDefines -D__alpha__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -758,7 +809,7 @@
+@@ -758,7 +814,7 @@
#ifdef Arm32Architecture
# define DefaultCCOptions -fsigned-char
# ifndef OptimizedCDebugFlags
-# define OptimizedCDebugFlags -O3
-+# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt
++# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt GccAliasingArgs
# endif
# define LinuxMachineDefines -D__arm__ -D__arm32__ -U__arm -Uarm
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -766,7 +817,7 @@
+@@ -766,7 +822,9 @@
#endif /* Arm32Achitecture */
#ifdef HPArchitecture
-# define OptimizedCDebugFlags -O2 GccAliasingArgs
-+# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt
++# ifndef OptimizedCDebugFlags
++# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt GccAliasingArgs
++# endif
# define LinuxMachineDefines -D__hppa__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
-@@ -774,7 +825,7 @@
+@@ -774,7 +832,7 @@
#ifdef i386Architecture
# ifndef OptimizedCDebugFlags
@@ -189,34 +277,34 @@
# endif
# define LinuxMachineDefines -D__i386__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -783,7 +834,7 @@
+@@ -783,7 +841,7 @@
#ifdef ia64Architecture
# ifndef OptimizedCDebugFlags
-# define OptimizedCDebugFlags -O2 GccAliasingArgs
-+# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt
++# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt GccAliasingArgs
# endif
# define LinuxMachineDefines -D__ia64__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -792,7 +843,7 @@
+@@ -792,7 +850,7 @@
#ifdef Mc68020Architecture
# ifndef OptimizedCDebugFlags
-# define OptimizedCDebugFlags -O2 GccAliasingArgs
-+# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt
++# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt GccAliasingArgs
# endif
# define LinuxMachineDefines -D__mc68000__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -801,7 +852,7 @@
+@@ -801,7 +859,7 @@
#ifdef MipsArchitecture
# ifndef OptimizedCDebugFlags
-# define OptimizedCDebugFlags -O2 GccAliasingArgs
-+# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt
++# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt GccAliasingArgs
# endif
# define LinuxMachineDefines -D__mips__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -811,7 +862,7 @@
+@@ -811,7 +869,7 @@
#ifdef PpcArchitecture
# define DefaultCCOptions -fsigned-char
# ifndef OptimizedCDebugFlags
@@ -225,16 +313,16 @@
# endif
# define LinuxMachineDefines -D__powerpc__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -820,7 +871,7 @@
+@@ -820,7 +878,7 @@
#ifdef s390Architecture
# ifndef OptimizedCDebugFlags
-# define OptimizedCDebugFlags -O2 -fomit-frame-pointer GccAliasingArgs
-+# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt
++# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt GccAliasingArgs
# endif
# define LinuxMachineDefines -D__s390__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -828,16 +879,17 @@
+@@ -828,16 +886,17 @@
#endif /* s390Architecture */
#ifdef s390xArchitecture
@@ -244,7 +332,7 @@
-#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-#define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+# ifndef OptimizedCDebugFlags
-+# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt
++# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt GccAliasingArgs
+# endif
+# define LinuxMachineDefines -D__s390x__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
@@ -254,16 +342,25 @@
#ifdef SparcArchitecture
# ifndef OptimizedCDebugFlags
-# define OptimizedCDebugFlags -O2 GccAliasingArgs
-+# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt
++# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt GccAliasingArgs
# endif
# define LinuxMachineDefines -D__sparc__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
-@@ -868,7 +920,7 @@
+@@ -859,7 +918,7 @@
+ # else
+ # define SuperHArchOptFlags -m3
# endif
+-# endif
++# endif
+ # ifndef SuperHebArchitecture
+ # ifdef SuperHebArchitecture
+ # define SuperHEndianFlags -mb
+@@ -868,7 +927,7 @@
+ # endif
# endif
# ifndef OptimizedCDebugFlags
-# define OptimizedCDebugFlags -O2 SuperHArchOptFlags SuperHEndianFlags GccAliasingArgs
-+# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt SuperHArchOptFlags SuperHEndianFlags
++# define OptimizedCDebugFlags DefaultGcc2DebugOpt DefaultGcc2OptimizeOpt GccAliasingArgs SuperHArchOptFlags SuperHEndianFlags
# endif
# define LinuxMachineDefines -D__sh__
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
Modified: branches/4.3.0/sid/debian/patches/004_imake_manpage_handling_overhaul.diff
===================================================================
--- branches/4.3.0/sid/debian/patches/004_imake_manpage_handling_overhaul.diff 2004-01-20 20:47:39 UTC (rev 944)
+++ branches/4.3.0/sid/debian/patches/004_imake_manpage_handling_overhaul.diff 2004-01-20 20:55:03 UTC (rev 945)
@@ -298,17 +298,17 @@
#ifndef StaticLibrary
#define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
#endif
---- xc-old/config/cf/linux.cf 2004-01-18 04:41:52.000000000 +0100
-+++ xc/config/cf/linux.cf 2004-01-18 04:45:51.000000000 +0100
-@@ -160,6 +160,7 @@
- # define BuildHtmlManPages NO
- # define StaticNeedsPicForShared NO /* we handle provide static libraries with PIC symbols using a different method */
+--- xc/config/cf/linux.cf.orig 2004-01-20 00:53:26.000000000 -0500
++++ xc/config/cf/linux.cf 2004-01-20 00:53:58.000000000 -0500
+@@ -164,6 +164,7 @@
+ */
+ # define StaticNeedsPicForShared NO
# define KernelVersionInBanner YES
+# define ProjectManSuffix x
/* The TT/Meltho fonts are all under non-free licenses. */
# define BuildTrueTypeFonts NO
# define BuildBethMarduthoFonts NO
-@@ -969,26 +970,6 @@
+@@ -976,26 +977,6 @@
# define ConnectionFlags -DUNIXCONN -DTCPCONN
#endif
Modified: branches/4.3.0/sid/debian/rules
===================================================================
--- branches/4.3.0/sid/debian/rules 2004-01-20 20:47:39 UTC (rev 944)
+++ branches/4.3.0/sid/debian/rules 2004-01-20 20:55:03 UTC (rev 945)
@@ -137,7 +137,7 @@
dh_testdir
rm -rf $(STAMP_DIR) $(SOURCE_DIR)
perl $(SCRIPT_DIR)/dbs_split clean
- rm -rf debian/local/exports debian/local/xlibmesa-drm-source/modules
+ rm -rf imports debian/local/xlibmesa-drm-source/modules
dh_clean debian/local/xserver-wrapper debian/local/xterm.faq.text.gz \
debian/MANIFEST.$(ARCH).new debian/shlibs.local
@@ -204,27 +204,31 @@
build: $(STAMP_DIR)/stamp-build
$(STAMP_DIR)/stamp-build: $(STAMP_DIR)/patch-audit $(STAMP_DIR)/genscripts
dh_testdir
-
- # copy Xft stuff into exports/{lib,include} so we don't have to pull
- # in -L/usr/include and other, similarly ugly, stuff (including, but
- # not limited to, -I/usr/include).
- mkdir -p debian/local/exports/lib
- mkdir -p debian/local/exports/include/X11/extensions
- ln -s /usr/lib/libXft* debian/local/exports/lib
- rm -f debian/local/exports/lib/libXft.so.1* debian/local/exports/lib/libXft1*
- ln -s /usr/include/X11/Xft debian/local/exports/include/X11
- # Xrender
- ln -s /usr/lib/libXrender.* debian/local/exports/lib
- ln -s /usr/include/X11/extensions/Xrender.h debian/local/exports/include/X11/extensions
+ # Symlink some of the libraries on which we build-depend into
+ # imports/{lib,include} so we don't have to pull in -L/usr/include and
+ # other, similarly ugly, stuff (including, but not limited to,
+ # -I/usr/include).
+ mkdir -p imports/lib
+ mkdir -p imports/include/X11/extensions
+ # Render and Xrender
+ ln -s /usr/lib/libXrender.* imports/lib
+ ln -s /usr/include/X11/extensions/render.h imports/include/X11/extensions
+ ln -s /usr/include/X11/extensions/renderproto.h imports/include/X11/extensions
+ ln -s /usr/include/X11/extensions/Xrender.h imports/include/X11/extensions
# Xcursor
- ln -s /usr/lib/libXcursor.* debian/local/exports/lib
- ln -s /usr/include/X11/Xcursor debian/local/exports/include/X11
- ifndef NOT_BUILDING_X_SERVER
+ ln -s /usr/lib/libXcursor.* imports/lib
+ ln -s /usr/include/X11/Xcursor imports/include/X11
+ # Xft
+ ln -s /usr/lib/libXft.* imports/lib
+ # Remove Xft1 -- it is built as part of XFree86.
+ rm -f imports/lib/libXft.so.1* imports/lib/libXft1*
+ ln -s /usr/include/X11/Xft imports/include/X11
+ifndef NOT_BUILDING_X_SERVER
# create source tree for static, debuggable XFree86 server
cp -drl $(SOURCE_TREE) $(SOURCE_TREE)-xserver-xfree86-dbg
# build Debian's X server wrapper
$(CC) -Wall -g -O2 -o debian/local/xserver-wrapper debian/local/xserver-wrapper.c
- endif
+endif
$(HTML2TEXT) debian/local/xterm.faq.html > debian/local/xterm.faq.text
gzip -9 debian/local/xterm.faq.text
ifndef test_rules
Reply to: