summaryrefslogtreecommitdiff
path: root/DragonFly.cf
blob: 45bf8f84241bf0e1722ae419037ca84a3c40fc27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
XCOMM $XdotOrg: xc/config/cf/DragonFly.cf,v 1.1 2005/02/19 02:02:31 marvis Exp $

#define UseElfFormat        YES

#define OSBinaryFormat        [ELF]

#ifndef OSName
#define OSName            DefaultOSName OSBinaryFormat
#endif
#ifndef OSVendor
#define OSVendor        /**/
#endif
#ifndef OSMajorVersion
#define OSMajorVersion        DefaultOSMajorVersion
#endif
#ifndef OSMinorVersion
#define OSMinorVersion        DefaultOSMinorVersion
#endif

#ifndef OSRelVersion
/* Include this to get finer-grained information about the OS version */
#include "/usr/include/osreldate.h"
#define OSRelVersion __DragonFly_version
#endif

XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion) (OSRelVersion)

/*
 * Base OS setup
 */
#define HasCplusplus             YES
#define GccUsesGas               YES
#define UseGas                   YES
#define GnuCpp                   YES
#define HasBasename              YES
#define HasBSD44Sockets          YES
#define HasDlopen                YES
#define HasGetIfAddrs            YES
#define HasIssetugid             YES
#define HasLibCrypt              YES
#define HasMktemp                YES
#define HasNCurses               YES
#define HasNdbm                  YES
#define HasPlugin                YES
#define HasPoll                  YES
#define HasPutenv                YES
#define HasUsableFileMmap        YES
#define HasSetProcTitle          YES
#define HasShm                   YES
#define HasSnprintf              YES
#define HasStrlcat               YES
#define HasVarDb                 YES
#define HasVarRun                YES
#define HasWChar32               YES
#define HasWeakSymbols           UseElfFormat
#define BuildXaw6                NO /*depreciated*/
#define BuildXaw7                NO /*depreciated*/
#define BuildXaw                 YES /*needed*/
#ifndef BuildPDFdocs
#define BuildPDFdocs NO
#endif
#define IPv6SocketsAlsoIPv4      NO
#define InstallXloadSetGID       NO

/*
 * Multi-thread safe libs
 */
#ifndef HasLibPthread
# define HasLibPthread           NO
#endif
#define HasPosixThreads          YES
#define ThreadedX                YES
#define SystemMTDefines          -D_REENTRANT -D_THREAD_SAFE
#define HasThreadSafeAPI         YES
#define MTSafeAPIDefines         -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI
#if HasLibPthread
# define ThreadsLibraries        -lpthread
#else
# define ThreadsLibraries        -pthread
#endif


#define AvoidNullMakeCommand     YES
#define StripInstalledPrograms   YES
#define CompressAllFonts         YES
#define Malloc0ReturnsNull       YES
#define NeedConstPrototypes      YES
#define NeedFunctionPrototypes   YES
#define NeedNestedPrototypes     YES
#define NeedVarargsPrototypes    YES
#define NeedWidePrototypes       NO

#define MkdirHierCmd             mkdir -p

#define LexCmd                   flex -l
#define HasFlex                  YES

#ifndef CcCmd
# define CcCmd                   cc
#endif
#ifndef CplusplusCmd
# define CplusplusCmd            c++
#endif
#define CppCmd                   /usr/bin/cpp
#define PreProcessCmd            CppCmd
#define StandardCppOptions       -traditional
#define StandardCppDefines       /**/
#ifndef DefaultCCOptions
# if defined(UseInstalled)
#  define DefaultCCOptions       /**/
# else
#  if defined(HasGcc3) && HasGcc3
#   define NoSystemWarn         -Wno-system-headers
#  else
#   define NoSystemWarn
# endif
# define DefaultCCOptions -ansi NoSystemWarn -Dasm=__asm GccWarningOptions
#endif
#ifndef ExtraLibraries
/* support for multi-byte locales is in libxpg4 rather than libc */
#define ExtraLibraries          -lxpg4
#endif
#define HasSetUserContext       YES
#define HasGetpeereid           YES
#define HasMTRRSupport          YES

#ifndef BuildXF86DRI
# define BuildXF86DRI           YES
#endif

#if defined(i386Architecture)
#define HasAgpGart              YES
#endif

/*
 * SSE and 3DNow will be autodetected, so binutils is the only
 * requirement for enabling this.
 */
#if defined(i386Architecture)
# define HasX86Support          YES
# define HasMMXSupport          YES
# define Has3DNowSupport        YES
# define HasSSESupport          YES
#else
# define HasX86Support          NO
# define HasMMXSupport          NO
# define Has3DNowSupport        NO
# define HasSSESupport          NO
#endif

#ifndef BuildDmx
#define BuildDmx		YES
#endif

#ifndef UseRpath
# define UseRpath               YES
#endif

#ifndef RpathLoadFlags
# if UseRpath
#  define RpathLoadFlags        -Wl,-rpath,$(USRLIBDIRPATH)
# else
#  define RpathLoadFlags        /**/
# endif
#endif

#ifndef ExtraLoadFlags
# if !defined(UseInstalled)
#  define ExtraLoadFlags     RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR)
# else
#  define ExtraLoadFlags     RpathLoadFlags
# endif
#endif

#endif

#ifndef LibraryRpathLoadFlags
# if UseRpath
#  define LibraryRpathLoadFlags  -rpath $(USRLIBDIRPATH)
# else
#  define LibraryRpathLoadFlags  /**/
# endif
#endif

#ifndef SharedLibraryLoadFlags
# define SharedLibraryLoadFlags  -shared LibraryRpathLoadFlags
#endif

#ifndef HasZlib
# define HasZlib                 YES
#endif

#ifndef HasPam
# define HasPam                  YES
#endif

/* Take from FreeBSD */
/* There are two options for building.  One is to assume that the system has
 * many of the dependencies provided by the ports tree.  The other is to just
 * build everything from this tree.
 */

#ifndef HasStandardPorts
# define HasStandardPorts        YES
#endif

#ifndef LocalBase
# define LocalBase               /usr/local
#endif
#ifndef X11Base
# define X11Base                 /usr/X11R6
#endif

#if HasStandardPorts

#ifndef HasExpat
# define HasExpat                YES
# define ExpatDir                LocalBase
#endif

#ifndef HasFreetype2
# define HasFreetype2            NO /* set this to YES once DragonFly ships FT218 */
# define Freetype2Dir            LocalBase
#endif

#ifndef HasFontconfig
# define HasFontconfig           YES
# define FontconfigDir           X11Base
#endif

#ifndef HasLibpng
# define HasLibpng               YES
# define LibpngDir               LocalBase
#endif

#endif /* HasStandardPorts */

#undef  InstallCmd
#define InstallCmd               /usr/bin/install

#define AsmElfDefines            -D__ELF__

#if GccUsesGas
# define GccGasOption            -DGCCUSESGAS
# define AsmDefines              -DUSE_GAS AsmElfDefines
#else
# define GccGasOption            /**/
# define AsmDefines              AsmElfDefines
#endif

#ifdef i386Architecture
#define ServerExtraDefines GccGasOption XFree86ServerDefines
#endif
#if defined(Sparc64Architecture) || defined(ia64Architecture) || \
    defined(AMD64Architecture)
#define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
#endif

#define StandardDefines          -DCSRG_BASED

#define ServerOSDefines          XFree86ServerOSDefines -DDDXTIME
#define XawI18nDefines           -DUSE_XWCHAR_STRING
#define HasMakefileSafeInclude   YES
#define IncludeMakefile(file) @@# dependencies are in .depend
#define DependFileName        .depend
#ifndef DoLoadableServer
# define DoLoadableServer      YES
#endif
#ifndef ForceNormalLib
# define ForceNormalLib        YES
#endif
#define HasMkstemp        YES

#define OptimizedCDebugFlags -O

#ifndef PreIncDir
# define PreIncDir    /usr/include
#endif

#define HasGroff    YES
#define NroffCmd    env GROFF_NO_SGR=y groff -Tascii
#define SetTtyGroup    YES

#ifndef ExtraFilesToClean
# define ExtraFilesToClean *.core
#endif

#define DefaultUserPath        /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR):/usr/local/bin
#define DefaultSystemPath    /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR)
#ifndef SystemManDirectory
# define SystemManDirectory    /usr/share/man
#endif

#define InstKmemFlags    -g kmem -m 2755

/*
 * Compress manual pages
 */
#ifndef CompressManPages
# define CompressManPages	NO
#endif

#define HasBsdMake    YES

#ifndef StaticLibrary
# define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
#endif

#define DlLibrary        -Wl,--export-dynamic

#ifndef PamLibraries
# define PamLibraries        -lpam DlLibrary
#endif

#ifndef SharedLibXdmGreet
# define SharedLibXdmGreet        NO
#endif

/*
 * On FreeBSD, the run-time loader will use the built-in "rpath" before
 * LD_LIBRARY_PATH.  This means that utilities like mkfontdir will load
 * installed libraries (if they exist) in preference to the ones in the
 * build tree, even though LD_LIBRARY_PATH points to the build tree.
 * This can result in the build failing.  One way to avoid this is to
 * pre-load the libraries from the build tree.
 *
 * There should be a better way than this hack...
 */
#if UseElfFormat
#ifndef PreloadFontSetup
#define PreloadFontSetup        LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(XFONTPRELOADPATTERN))`"
#endif
#ifndef PreloadFreetypeSetup
#define PreloadFreetypeSetup    LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN))`"
#endif
#ifndef PreloadXFTSetup
#define PreloadXFTSetup         LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN) $(XFTPRELOADPATTERN) $(XRENDERPRELOADPATTERN) $(FCPRELOADPATTERN))`"
#endif
#endif

#ifndef HasCookieMaker
# define HasCookieMaker        YES
# define MkCookieCmd \
    'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
#endif

/*
 * A hack to work around an optimization problem with gcc 2.95.2 - 2.95.4
 */
#if (GccMajorVersion == 2 && GccMinorVersion == 95)
# define GccOptBug295
#endif

#include <bsdLib.rules>

#include <xorg.cf>