~ubuntu-branches/ubuntu/trusty/happy/trusty-proposed

« back to all changes in this revision

Viewing changes to mk/config.mk.in

  • Committer: Bazaar Package Importer
  • Author(s): Ian Lynagh (wibble)
  • Date: 2006-10-26 22:52:14 UTC
  • mfrom: (1.2.2 upstream) (3.1.1 dapper)
  • Revision ID: james.westby@ubuntu.com-20061026225214-6jmf0n3ykkc9elyw
Tags: 1.16~rc2-1
* New upstream (release candidate) version.
* Removed happy/ prefixes from various paths in debian/rules and
  debian/docs.
* doc/configure generated by autoconf is in the Debian diff.
* Build using cabal:
  * Various debian/rules changes.
  * Create debian/get_version.hs for extracting the version from the cabal
    file.
  * Requires ghc6 >= 6.4.2.
  * No longer tries to detect platform. Closes: #340325, #332979.
  * Removed autotool-dev build-dep.
* Add 'XSLTPROC_OPTS = --nonet' to doc/config.mk.in.
* Remove src/Parser.ly and src/AttrGrammarParser.ly before cleaning so
  the generated files don't get cleaned.
* Set Standards-Version to 3.7.2 (no changes needed).
* Removed PS and DVI stanzas from debian/doc-base as we don't build
  the documentation those ways.
* Removed content-free postinst and prerm.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#                                                                -*-makefile-*-
2
 
# @configure_input@
3
 
#
4
 
################################################################################
5
 
#
6
 
# config.mk.in
7
 
#
8
 
# This file supplies defaults for many tweakable build configuration
9
 
# options.  Some of the defaults are filled in by the autoconf-generated
10
 
# configure script.
11
 
#
12
 
# DO NOT EDIT THIS FILE!
13
 
#
14
 
#       - config.mk is auto-generated from config.mk.in by configure.
15
 
#         This may be triggered automatically by the build system (say
16
 
#         if config.mk.in has changed more recently than config.mk),
17
 
#         so if you edit config.mk your changes will be spammed.
18
 
#
19
 
#       - Settings in this file may be overriden by giving replacement
20
 
#         definitions in build.mk.  See build.mk.sample for a good
21
 
#         starting point for a build.mk file.
22
 
#
23
 
#         If you don't have a build.mk file then you get defaults for everything.
24
 
#         The defaults should provide a reasonable vanilla build.
25
 
#
26
 
# This is one of only two files that configure generates (the other is config.h)
27
 
#
28
 
# There is a section below for each project within the fptools suite
29
 
#
30
 
#       PLUS
31
 
#
32
 
# a section corresponding to each of the main .mk files 
33
 
# included by boilerplate.mk (see boilerplate.mk for a list).
34
 
 
35
 
 
36
 
################################################################################
37
 
#
38
 
#               Project-wide platform variables
39
 
#
40
 
################################################################################
41
 
 
42
 
# A "platform" is the GNU cpu-type/manufacturer/operating-system target machine
43
 
# specifier.  E.g. sparc-sun-solaris2
44
 
#
45
 
# Build  platform: the platform on which we are doing this build
46
 
# Host   platform: the platform on which these binaries will run
47
 
# Target platform: the platform for which this compiler will generate code
48
 
#
49
 
# We don't support build & host being different, because the build
50
 
# process creates binaries that are run during the build, and also
51
 
# installed.
52
 
#
53
 
# If host & target are different, then we are building a compiler
54
 
# which will generate intermediate .hc files to port to the target
55
 
# architecture for bootstrapping.  The libraries and stage 2 compiler
56
 
# will be built as HC files for the target system, and likely won't
57
 
# build on this host platform.
58
 
#
59
 
# Guidelines for when to use HOST vs. TARGET:
60
 
#
61
 
#  - In the build system (Makefile, foo.mk), normally we should test
62
 
#    $(HOSTPLATFORM).  There are some cases (eg. installation), where
63
 
#    we expect $(HOSTPLATFORM)==$(TARGETPLATFORM), so in those cases it
64
 
#    doesn't matter which is used.
65
 
#
66
 
#  - In the compiler itself, we should test HOST or TARGET depending
67
 
#    on whether the conditional relates to the code being generated, or
68
 
#    the platform on which the compiler is running.  For stage 2,
69
 
#    HOSTPLATFORM should be reset to be TARGETPLATFORM (we currently
70
 
#    don't do this, but we should).
71
 
#
72
 
#  - In the RTS and library code, we should be testing TARGET only.
73
 
#
74
 
# NOTE: cross-compiling is not well supported by the build system.
75
 
# You have to do a lot of work by hand to cross compile: see the
76
 
# section on "Porting GHC" in the Building Guide.
77
 
 
78
 
HOSTPLATFORM                    = @HostPlatform@
79
 
TARGETPLATFORM                  = @TargetPlatform@
80
 
BUILDPLATFORM                   = @BuildPlatform@
81
 
 
82
 
# Hack alert:
83
 
# in one or two places, we need to get at the OS version (major and
84
 
# perhaps even minor), HostOS_Full is the OS name reported by
85
 
# AC_CANONICAL_SYSTEM.
86
 
#
87
 
HostPlatform_CPP                = @HostPlatform_CPP@
88
 
HostArch_CPP                    = @HostArch_CPP@
89
 
HostOS_CPP                      = @HostOS_CPP@
90
 
HostOS_Full                     = @HostOS_Full@
91
 
HostVendor_CPP                  = @HostVendor_CPP@
92
 
 
93
 
TargetPlatform_CPP              = @TargetPlatform_CPP@
94
 
TargetArch_CPP                  = @TargetArch_CPP@
95
 
TargetOS_CPP                    = @TargetOS_CPP@
96
 
TargetVendor_CPP                = @TargetVendor_CPP@
97
 
 
98
 
BuildPlatform_CPP               = @BuildPlatform_CPP@
99
 
BuildArch_CPP                   = @BuildArch_CPP@
100
 
BuildOS_CPP                     = @BuildOS_CPP@
101
 
BuildVendor_CPP                 = @BuildVendor_CPP@
102
 
 
103
 
@HostPlatform_CPP@_HOST           = 1
104
 
@TargetPlatform_CPP@_TARGET       = 1
105
 
@BuildPlatform_CPP@_BUILD         = 1
106
 
 
107
 
@HostArch_CPP@_HOST_ARCH          = 1
108
 
@TargetArch_CPP@_TARGET_ARCH      = 1
109
 
@BuildArch_CPP@_BUILD_ARCH        = 1
110
 
 
111
 
@HostOS_CPP@_HOST_OS              = 1
112
 
@TargetOS_CPP@_TARGET_OS          = 1
113
 
@BuildOS_CPP@_BUILD_OS            = 1
114
 
 
115
 
@HostVendor_CPP@_HOST_VENDOR      = 1
116
 
@TargetVendor_CPP@_TARGET_VENDOR  = 1
117
 
@BuildVendor_CPP@_BUILD_VENDOR    = 1
118
 
 
119
 
# Leading underscores on symbol names in object files
120
 
# Valid options: YES/NO
121
 
#
122
 
LeadingUnderscore=@LeadingUnderscore@
123
 
 
124
 
# Pin a suffix on executables? If so, what (Windows only).
125
 
exeext=@exeext@
126
 
 
127
 
# Windows=YES if on a Windows platform
128
 
ifneq "$(findstring $(HostOS_CPP), mingw32 cygwin32)" ""
129
 
Windows=YES
130
 
else
131
 
Windows=NO
132
 
endif
133
 
 
134
 
################################################################################
135
 
#
136
 
#               project-wide flags
137
 
#
138
 
#       Set of options applicable to all fptools projects
139
 
#
140
 
################################################################################
141
 
 
142
 
# BootingFromHc - build GHC and the libraries from .hc files?
143
 
BootingFromHc = @BootingFromHc@
144
 
 
145
 
# BootingFromUnregisterisedHc - treat .hc files as containing unregisterised
146
 
# rather than registerised code, i.e., disable the mangler?
147
 
BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@
148
 
 
149
 
# Build Order: we build Happy, Haddock and Alex before GHC if they are
150
 
# in this source tree, just in case our GHC build depends on these
151
 
# local builds rather than installed versions of the tools.
152
 
#
153
 
# Build the libs first if we're bootstrapping from .hc files.
154
 
ifeq "$(BootingFromHc)" "YES"
155
 
AllProjects = glafp-utils happy alex haddock libraries hslibs ghc greencard hdirect hood nofib docs
156
 
else
157
 
AllProjects = glafp-utils happy alex haddock ghc libraries hslibs greencard hdirect hood nofib docs
158
 
endif
159
 
 
160
 
#
161
 
# (OPTIONAL) set ProjectsToBuild to a list of projects to be built.  If this
162
 
# list is empty, then all projects present in the source tree will be built.
163
 
#
164
 
ProjectsToBuild =
165
 
 
166
 
#
167
 
# set ProjectsDontInstall to a list of projects which are normally built but
168
 
# not installed.
169
 
#
170
 
ProjectsDontInstall = glafp-utils nofib
171
 
 
172
 
#
173
 
# Should the various project tests directories be built?
174
 
#
175
 
IncludeTestDirsInBuild=NO
176
 
 
177
 
#
178
 
# Should the various project example directories be built?
179
 
#
180
 
IncludeExampleDirsInBuild=NO
181
 
 
182
 
#
183
 
# Which ways should DocBook XML documents be built?
184
 
# options are: dvi ps pdf html
185
 
#
186
 
XMLDocWays=
187
 
 
188
 
################################################################################
189
 
#
190
 
#               GHC project
191
 
192
 
#       Set of (configurable) options needed by the ghc tree
193
 
#       plus their default options (if any).
194
 
#
195
 
################################################################################
196
 
 
197
 
#---------------------------------------------------------------
198
 
#
199
 
# Variables that control how the compiler itself is built
200
 
#
201
 
#---------------------------------------------------------------
202
 
 
203
 
# The compiler used to build GHC is $(GHC).  To change the actual compiler
204
 
# used, re-configure with --with-ghc=<path-to-ghc>.
205
 
 
206
 
# Extra ways in which to build the compiler (for example, you might want to
207
 
# build a profiled compiler so you can see where it spends its time)
208
 
GhcCompilerWays=
209
 
 
210
 
# Extra option flags to pass to the compiler that compiles the compiler
211
 
# (Ones that are essential are wired into ghc/compiler/Makefile)
212
 
# Typical options to use here:
213
 
#
214
 
#       -DDEBUG         include debugging code and assertions (will make the
215
 
#                       compiler slower and produce debugging output, but useful
216
 
#                       for development)
217
 
#
218
 
#       -dcore-lint     check the types after every pass of the compiler;
219
 
#                       a pretty strong internal check of the compiler being
220
 
#                       used to compile GHC.  Useful when bootstrapping.
221
 
GhcHcOpts=-Rghc-timing
222
 
 
223
 
# Extra options added to specific stages of the compiler bootstrap.
224
 
# These are placed later on the command line, and may therefore
225
 
# override options from $(GhcHcOpts).
226
 
GhcStage1HcOpts=
227
 
GhcStage2HcOpts=
228
 
GhcStage3HcOpts=
229
 
 
230
 
# Build a compiler that will build *unregisterised* libraries and
231
 
# binaries by default.  Unregisterised code is supposed to compile and
232
 
# run without any support for architecture-specific assembly mangling,
233
 
# register assignment or tail-calls, and is therefore a good way to get
234
 
# started when porting GHC to new architectures.
235
 
#
236
 
# If this is set to NO, you can still use the unregisterised way
237
 
# (way 'u') to get unregisterised code, but the default way will be
238
 
# registerised.
239
 
#
240
 
# NOTE: the stage1 compiler will be a registerised binary (assuming
241
 
# the compiler you build with is generating registerised binaries), but
242
 
# the stage2 compiler will be an unregisterised binary.
243
 
#
244
 
GhcUnregisterised=NO
245
 
 
246
 
# Build a compiler with a native code generator backend
247
 
# (as well as a C backend)
248
 
#
249
 
# Target platforms supported:
250
 
#   i386, powerpc
251
 
#   sparc has bitrotted
252
 
ifneq "$(findstring $(HostArch_CPP), i386 powerpc)" ""
253
 
GhcWithNativeCodeGen=YES
254
 
else
255
 
GhcWithNativeCodeGen=NO
256
 
endif
257
 
 
258
 
# Include support for generating Java
259
 
GhcWithJavaGen=NO
260
 
 
261
 
HaveLibDL = @HaveLibDL@
262
 
HaveRtldNext = @HaveRtldNext@
263
 
HaveRtldLocal = @HaveRtldLocal@
264
 
 
265
 
# Include GHCi in the compiler.  Default to NO for the time being.
266
 
 
267
 
ifneq "$(findstring $(HostOS_CPP), mingw32 cygwin32 linux solaris2 freebsd netbsd openbsd darwin)" ""
268
 
GhcWithInterpreter=YES
269
 
else 
270
 
GhcWithInterpreter=NO
271
 
endif
272
 
 
273
 
#
274
 
# Building various ways?
275
 
# (right now, empty if not).
276
 
BuildingParallel=$(subst mp,YES,$(filter mp,$(WAYS)))
277
 
BuildingGranSim=$(subst mg,YES,$(filter mg,$(WAYS)))
278
 
 
279
 
#------------------------------------------------------------------------------
280
 
# Options for Libraries
281
 
 
282
 
# What extra ways to build the libraries in
283
 
# In addition to the normal sequential way, the default is to also build
284
 
# profiled prelude libraries.
285
 
# When booting from .hc files, turn this off.
286
 
ifeq "$(BootingFromHc)" "YES"
287
 
GhcLibWays=
288
 
else
289
 
GhcLibWays=p
290
 
endif
291
 
 
292
 
# In addition, the RTS is built in some further variations.  Ways that
293
 
# make sense here:
294
 
295
 
#   thr         : threaded
296
 
#   thr_p       : threaded profiled
297
 
#   debug       : debugging (compile with -g for the C compiler, and -DDEBUG)
298
 
#   debug_p     : debugging profiled
299
 
#   debug_u     : debugging unregisterised
300
 
#   thr_debug   : debugging threaded
301
 
#   thr_debug_p : debugging threaded profiled
302
 
#
303
 
ifeq "$(BootingFromHc)" "YES"
304
 
GhcRTSWays=
305
 
else
306
 
GhcRTSWays=thr thr_p debug
307
 
endif
308
 
 
309
 
# Option flags to pass to GHC when it's compiling modules in
310
 
# fptools/libraries.  Typically these are things like -O or
311
 
# -dcore-lint or -H32m.  The ones that are *essential* are wired into
312
 
# the build system.
313
 
#
314
 
#       -O is pretty desirable, otherwise no inlining of prelude
315
 
#               things (incl "+") happens when compiling with this compiler
316
 
 
317
 
GhcLibHcOpts=-O -Rghc-timing
318
 
 
319
 
# Win32 only: Enable the RTS and libraries to be built as DLLs
320
 
DLLized=@EnableWin32DLLs@
321
 
 
322
 
# Strip local symbols from libraries?  This can make the libraries smaller,
323
 
# but makes debugging somewhat more difficult.  Doesn't work with all ld's.
324
 
#
325
 
StripLibraries=NO
326
 
 
327
 
 
328
 
# ----------------------------------------------------------------------------
329
 
# Object-file splitting
330
 
#
331
 
#       Set SplitObjs=YES or NO in your build.mk
332
 
#
333
 
#       Don't use -split-objs in in GhcLibHcOpts, because the build
334
 
#               system needs to do other special magic if you are
335
 
#               doing object-file splitting
336
 
 
337
 
# Don't split object files for libs if we're building DLLs, or booting from
338
 
# .hc files.
339
 
SplitObjs=YES
340
 
 
341
 
ifeq "$(DLLized)" "YES"
342
 
SplitObjs=NO
343
 
endif
344
 
ifeq "$(BootingFromHc)" "YES"
345
 
SplitObjs=NO
346
 
endif
347
 
ifeq "$(GhcUnregisterised)" "YES"
348
 
SplitObjs=NO
349
 
endif
350
 
ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux"
351
 
SplitObjs=NO
352
 
endif
353
 
 
354
 
# ----------------------------------------------------------------------------
355
 
# Options for GHC's RTS
356
 
 
357
 
# For an optimised RTS (you probably don't want to change these; we build
358
 
# a debugging RTS by default now.  Use -package rts_debug to get it).
359
 
GhcRtsHcOpts=-O2
360
 
GhcRtsCcOpts=-fomit-frame-pointer
361
 
 
362
 
# Include the front panel code?  Needs GTK+.
363
 
GhcRtsWithFrontPanel = NO
364
 
 
365
 
################################################################################
366
 
#
367
 
# libraries project
368
 
#
369
 
################################################################################
370
 
 
371
 
# Build the Haskell Readline bindings?
372
 
#
373
 
GhcLibsWithReadline=@GhcLibsWithReadline@
374
 
 
375
 
# Libraries needed for linking with readline
376
 
LibsReadline=@LibsReadline@
377
 
 
378
 
# Include path to readline.h
379
 
# (no path == in standard include path)
380
 
#
381
 
ReadlineIncludePath=
382
 
 
383
 
# Math library
384
 
LIBM=@LIBM@
385
 
 
386
 
# Build the ObjectIO ?
387
 
#
388
 
GhcLibsWithObjectIO=@GhcLibsWithObjectIO@
389
 
 
390
 
# .NET interop support?
391
 
#
392
 
DotnetSupport=@DotnetSupport@
393
 
 
394
 
# Build unix package?
395
 
#
396
 
GhcLibsWithUnix=@GhcLibsWithUnix@
397
 
 
398
 
################################################################################
399
 
#
400
 
#               happy project
401
 
#
402
 
#       Happy specific options
403
 
#
404
 
################################################################################
405
 
 
406
 
# The compiler you'd like to use to compile Happy
407
 
WithHappyHc = @WithHc@
408
 
 
409
 
# HappyHcOpts gives the flags to pass to the Haskell compiler used
410
 
#             to compile the Happy sources with.
411
 
#
412
 
HappyHcOpts = -O
413
 
 
414
 
################################################################################
415
 
#
416
 
#               haggis project
417
 
#
418
 
#       Haggis specific options
419
 
#
420
 
################################################################################
421
 
 
422
 
################################################################################
423
 
#
424
 
#               greencard project
425
 
#
426
 
#       GreenCard specific options
427
 
#
428
 
################################################################################
429
 
 
430
 
################################################################################
431
 
#
432
 
#               nofib project
433
 
#
434
 
#       nofib specific options
435
 
#
436
 
################################################################################
437
 
 
438
 
WithNofibHc = $(GHC_INPLACE)
439
 
 
440
 
# NoFibSubDirs controls which set of tests should be run
441
 
# You can run one or more of
442
 
#       imaginary 
443
 
#       spectral
444
 
#       real
445
 
#       parallel
446
 
#       PRIVATE
447
 
#       PENDING
448
 
#       UNUSED
449
 
NoFibSubDirs = imaginary spectral real
450
 
 
451
 
# The different ways to build nofib. Default is just to mirror
452
 
# what is done for the ghc prelude libraries.
453
 
#
454
 
NoFibWays = $(GhcLibWays)
455
 
 
456
 
# Haskell compiler options for nofib
457
 
NoFibHcOpts = -O
458
 
 
459
 
# ==============================================================================
460
 
#
461
 
#                       END OF PROJECT-SPECIFIC STUFF
462
 
#
463
 
#               Now come the generic configuration options
464
 
#
465
 
# ==============================================================================
466
 
 
467
 
################################################################################
468
 
#
469
 
#               Paths (see paths.mk)
470
 
#
471
 
################################################################################
472
 
 
473
 
# Directory used by GHC (and possibly other tools) for storing
474
 
# temporary files.  If your TMPDIR isn't big enough, either override
475
 
# this in build.mk or set your environment variable "TMPDIR" to point
476
 
# to somewhere with more space.  (TMPDIR=. is a good choice).
477
 
 
478
 
# DEFAULT_TMPDIR isn't called TMPDIR because GNU make tends to
479
 
# override an environment variable with the value of the make variable
480
 
# of the same name (if it exists) when executing sub-processes, so
481
 
# setting the TMPDIR env var would have no effect in the build tree.
482
 
 
483
 
DEFAULT_TMPDIR          = /tmp
484
 
ifeq "$(TARGETPLATFORM)" "i386-unknown-cygwin32"
485
 
DEFAULT_TMPDIR          = C:/TEMP
486
 
endif
487
 
ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
488
 
DEFAULT_TMPDIR          = C:/TEMP
489
 
endif
490
 
 
491
 
# FPTOOLS_TOP: the top of the fptools hierarchy, absolute path. (POSIX / unix-style path).
492
 
FPTOOLS_TOP_ABS         = @hardtop@
493
 
# The platform specific version of 'hardtop'.
494
 
FPTOOLS_TOP_ABS_PLATFORM = @hardtop_plat@
495
 
 
496
 
#
497
 
# Installation directories, we don't use half of these,
498
 
# but since the configure script has them on offer while
499
 
# passing through, we might as well set them.
500
 
 
501
 
prefix                  = @prefix@
502
 
exec_prefix             = @exec_prefix@
503
 
bindir                  = @bindir@
504
 
datadir0                = @datadir@
505
 
libdir0                 = @libdir@
506
 
includedir              = @includedir@
507
 
oldincludedir           = @oldincludedir@
508
 
mandir                  = @mandir@
509
 
 
510
 
ifeq "$(Windows)" "YES"
511
 
 
512
 
ifeq "$(strip $(prefix))" ""
513
 
prefix          = c:/ghc
514
 
endif
515
 
 
516
 
# Hack: our directory layouts tend to be different on Windows, so
517
 
# hack around configure's bogus assumptions here.
518
 
datadir         = $(prefix)
519
 
libdir          = $(prefix)
520
 
 
521
 
else
522
 
 
523
 
#
524
 
# Unix: override libdir and datadir to put project-specific stuff in
525
 
# a subdirectory with the version number included.
526
 
#
527
 
libdir     = $(if $(ProjectNameShort),$(libdir0)/$(ProjectNameShort)-$(ProjectVersion),$(libdir0))
528
 
datadir    = $(if $(ProjectNameShort),$(datadir0)/$(ProjectNameShort)-$(ProjectVersion),$(datadir0))
529
 
 
530
 
endif # Windows
531
 
 
532
 
# Default place for putting interface files is $(libdir)
533
 
# (overriden for packages in package.mk)
534
 
ifacedir                = $(libdir)
535
 
 
536
 
537
 
# Default values for most of the above are only set if
538
 
# they weren't configured to anything in particular
539
 
# via the configure script. (i.e., we make no assumption
540
 
# that the autoconf-generated script will assign defaults
541
 
# to all of the above).
542
 
#
543
 
ifeq "$(strip $(exec_prefix))" ""
544
 
exec_prefix             = $(prefix)
545
 
endif
546
 
ifeq "$(strip $(bindir))" ""
547
 
bindir                  = $(exec_prefix)/bin
548
 
endif
549
 
 
550
 
#
551
 
# NOTE: by intention, libexecdir and libdir point to 
552
 
# the same place.
553
 
#  => Only way to override this is to set libexecdir= on the command line.
554
 
#     (NOTE: configure script setting is ignored).
555
 
libexecdir              = $(libdir)
556
 
 
557
 
ifeq "$(strip $(datadir))" ""
558
 
datadir         = $(prefix)/share
559
 
endif
560
 
ifeq "$(strip $(libdir))" ""
561
 
libdir          = $(exec_prefix)/lib
562
 
endif
563
 
ifeq "$(strip $(includedir))" ""
564
 
includedir      = $(prefix)/include
565
 
endif
566
 
ifeq "$(strip $(oldincludedir))" ""
567
 
oldincludedir   = /usr/include
568
 
endif
569
 
ifeq "$(strip $(mandir))" ""
570
 
mandir          = $(prefix)/man
571
 
endif
572
 
 
573
 
#-----------------------------------------------------------------------------
574
 
# install configuration
575
 
 
576
 
#
577
 
# Set this to have files installed with a specific owner
578
 
#
579
 
INSTALL_OWNER =
580
 
 
581
 
582
 
# Set this to have files installed with a specific group
583
 
#
584
 
INSTALL_GROUP =
585
 
 
586
 
#
587
 
# Invocations of `install' for the four different classes
588
 
# of targets:
589
 
#
590
 
INSTALL_PROGRAM = $(INSTALL) -m 755
591
 
INSTALL_SCRIPT  = $(INSTALL) -m 755
592
 
INSTALL_SHLIB   = $(INSTALL) -m 755
593
 
INSTALL_DATA    = $(INSTALL) -m 644
594
 
INSTALL_DIR     = $(MKDIRHIER)
595
 
 
596
 
# -----------------------------------------------------------------------------
597
 
# Utilities programs: flags 
598
 
 
599
 
# If you want to give any standard flags to pretty much any utility
600
 
# (see utils.mk for a complete list), by adding a line here
601
 
#
602
 
#       SRC_P_OPTS += ...
603
 
#
604
 
# where P is the utility. For example, to add -O to all Haskell
605
 
# compilations, 
606
 
#
607
 
#       SRC_HC_OPTS += -O
608
 
 
609
 
SRC_HC_OPTS += -H16m -O
610
 
 
611
 
# These flags make flex 8-bit
612
 
SRC_FLEX_OPTS   += -8
613
 
 
614
 
SRC_INSTALL_BIN_OPTS    += -s
615
 
 
616
 
# lint gets all CPP's flags too
617
 
SRC_LINT_OPTS           += -axz -DLINT $(SRC_CPP_OPTS)
618
 
WAY$(_way)_LINT_OPTS    += WAY$(_way)_CPP_OPTS
619
 
 
620
 
# Default fptools options for dllwrap.
621
 
SRC_BLD_DLL_OPTS += -mno-cygwin --target=i386-mingw32
622
 
 
623
 
# Flags for CPP when running GreenCard on .pgc files
624
 
GC_CPP_OPTS += -P -E -x c -traditional -D__GLASGOW_HASKELL__
625
 
 
626
 
 
627
 
################################################################################
628
 
#
629
 
#               Utilities programs: where to find them
630
 
#
631
 
################################################################################
632
 
 
633
 
#-----------------------------------------------------------------------------
634
 
# FPtools Utility locations
635
 
 
636
 
# By default, the various utils needed to be build ghc and chums
637
 
# is set up to point to the utils/ directory. Define here the
638
 
# path prefix for the utilities. Notice that it's a prefix with
639
 
# a trailing slash, so that it can be concatenated directly on
640
 
# front of a program name; if it's not set then we just look
641
 
# along the shell's $(PATH)
642
 
#
643
 
# If instead you want to use installed or your own versions of these,
644
 
# override the various *_PREFIX in build.mk, i.e., having the following
645
 
# in build.mk:
646
 
#
647
 
#   MKDEPENDC_PREFIX=
648
 
#
649
 
# will force `make' to rummage around in your PATH to find `mkdependC' (not
650
 
# sure it would need it in the first place, but still).
651
 
#
652
 
GLAFP_UTILS             = $(FPTOOLS_TOP)/glafp-utils
653
 
 
654
 
SCRIPT_PREFIX           = $(GLAFP_UTILS)/scripts/
655
 
MKDEPENDC_PREFIX        = $(GLAFP_UTILS)/mkdependC/
656
 
LTX_PREFIX              = $(GLAFP_UTILS)/ltx/
657
 
RUNTEST_PREFIX          = $(GLAFP_UTILS)/runstdtest/
658
 
VERBATIM_PREFIX         = $(GLAFP_UTILS)/verbatim/
659
 
SGMLVERB_PREFIX         = $(GLAFP_UTILS)/sgmlverb/
660
 
ETAGS_PREFIX            = $(GLAFP_UTILS)/etags/
661
 
LNDIR_PREFIX            = $(GLAFP_UTILS)/lndir/
662
 
MKDIRHIER_PREFIX        = $(GLAFP_UTILS)/mkdirhier/
663
 
DOCBOOK_PREFIX          = $(GLAFP_UTILS)/docbook/
664
 
 
665
 
HADDOCK_PREFIX          = $(FPTOOLS_TOP)/haddock/
666
 
 
667
 
LITERATE_PREFIX         = $(FPTOOLS_TOP)/literate/
668
 
 
669
 
UNLIT_PREFIX            = $(FPTOOLS_TOP)/ghc/utils/unlit/
670
 
HP2PS_PREFIX            = $(FPTOOLS_TOP)/ghc/utils/hp2ps/
671
 
HSTAGS_PREFIX           = $(FPTOOLS_TOP)/ghc/utils/hasktags/
672
 
HSC2HS_PREFIX           = $(FPTOOLS_TOP)/ghc/utils/hsc2hs/
673
 
 
674
 
#-----------------------------------------------------------------------------
675
 
# Haskell compilers and mkdependHS
676
 
 
677
 
# $(GHC), $(HBC) and $(NHC) point to installed versions of the relevant
678
 
# compilers, if available.
679
 
#
680
 
# $(HC) is a generic Haskell 98 compiler, set to $(GHC) by default.
681
 
# $(MKDEPENDHS) is the Haskell dependency generator (ghc -M).
682
 
#
683
 
# NOTE: Don't override $(GHC) in build.mk, use configure --with-ghc instead
684
 
# (because the version numbers have to be calculated).
685
 
 
686
 
GHC             = @WithGhc@
687
 
GhcDir          = $(dir $(GHC))
688
 
GhcVersion      = @GhcVersion@
689
 
GhcMajVersion   = @GhcMajVersion@
690
 
GhcMinVersion   = @GhcMinVersion@
691
 
GhcPatchLevel   = @GhcPatchLevel@
692
 
 
693
 
# Canonicalised ghc version number, used for easy (integer) version
694
 
# comparisons.  We must expand $(GhcMinVersion) to two digits by
695
 
# adding a leading zero if necessary:
696
 
ifneq "$(findstring $(GhcMinVersion), 0 1 2 3 4 5 6 7 8 9)" ""
697
 
GhcCanonVersion = $(GhcMajVersion)0$(GhcMinVersion)
698
 
else
699
 
GhcCanonVersion = $(GhcMajVersion)$(GhcMinVersion)
700
 
endif
701
 
 
702
 
HBC             = @HBC@
703
 
NHC             = @NHC@
704
 
 
705
 
HC              = @WithHc@
706
 
MKDEPENDHS      = $(GHC)
707
 
 
708
 
# Sometimes we want to invoke ghc from the build tree in different
709
 
# projects (eg. it's handy to have a nofib & a ghc build in the same
710
 
# tree).  We can refer to "this ghc" as $(GHC_INPLACE):
711
 
 
712
 
GHC_INPLACE     = $(FPTOOLS_TOP)/ghc/compiler/ghc-inplace
713
 
GHC_STAGE1      = $(FPTOOLS_TOP)/ghc/compiler/stage1/ghc-inplace
714
 
GHC_STAGE2      = $(FPTOOLS_TOP)/ghc/compiler/stage2/ghc-inplace
715
 
GHC_STAGE3      = $(FPTOOLS_TOP)/ghc/compiler/stage3/ghc-inplace
716
 
 
717
 
#-----------------------------------------------------------------------------
718
 
# C compiler
719
 
#
720
 
# NB. Don't override $(WhatGccIsCalled) using build.mk,  re-configure using
721
 
# the flag --with-gcc=<blah> instead.  The reason is that the configure script
722
 
# needs to know which gcc you're using in order to perform its tests.
723
 
 
724
 
HaveGcc         = @HaveGcc@
725
 
UseGcc          = YES
726
 
WhatGccIsCalled = @WhatGccIsCalled@
727
 
GccVersion      = @GccVersion@
728
 
ifeq "$(strip $(HaveGcc))" "YES"
729
 
ifneq "$(strip $(UseGcc))"  "YES"
730
 
  CC    = cc
731
 
else
732
 
  CC    = $(WhatGccIsCalled)
733
 
  GccDir = $(dir $(WhatGccIsCalled))
734
 
endif
735
 
endif
736
 
 
737
 
# default C compiler flags
738
 
SRC_CC_OPTS = @SRC_CC_OPTS@
739
 
 
740
 
ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux"
741
 
SRC_CC_OPTS += -G0
742
 
endif
743
 
 
744
 
#-----------------------------------------------------------------------------
745
 
# GMP Library (version 2.0.x or above)
746
 
#
747
 
HaveLibGmp      = @HaveLibGmp@
748
 
LibGmp          = @LibGmp@
749
 
 
750
 
#-----------------------------------------------------------------------------
751
 
# Mingwex Library
752
 
#
753
 
HaveLibMingwEx  = @HaveLibMingwEx@
754
 
 
755
 
#-----------------------------------------------------------------------------
756
 
# HaskellSupport framework (Mac OS X)
757
 
#
758
 
HaveFrameworkHaskellSupport = @HaveFrameworkHaskellSupport@
759
 
 
760
 
#-----------------------------------------------------------------------------
761
 
# Regex library
762
 
# (if present in libc use that one, otherwise use the one in the tree)
763
 
#
764
 
HavePosixRegex  = @HavePosixRegex@
765
 
 
766
 
#-----------------------------------------------------------------------------
767
 
# Flex (currently unused, could be moved to glafp-utils)
768
 
 
769
 
# FLEX                  = @LEX@
770
 
# Don't bother with -lfl, we define our own yywrap()s anyway.
771
 
# FLEX_LIB              = 
772
 
#WAS:FLEX_LIB           = @LEXLIB@
773
 
 
774
 
#-----------------------------------------------------------------------------
775
 
# Other standard (ha!) Unix utilities
776
 
 
777
 
AR                      = @ArCmd@
778
 
ArSupportsInput         = @ArSupportsInput@
779
 
# Yuckage: for ghc/utils/parallel -- todo: nuke this dependency!!
780
 
BASH                    = /usr/local/bin/bash
781
 
 
782
 
CONTEXT_DIFF            = @ContextDiffCmd@
783
 
CP                      = cp
784
 
CPP                     = @CPP@ @CPPFLAGS@
785
 
CTAGS                   = $(ETAGS)
786
 
#
787
 
# RAWCPP_FLAGS are the flags to give to cpp (viz, gcc -E) to persuade it to
788
 
# behave plausibly on Haskell sources.
789
 
#
790
 
RAWCPP_FLAGS            = -undef -traditional
791
 
FIND                    = @FindCmd@
792
 
INSTALL                 = @INSTALL@
793
 
#
794
 
# Sigh - the autoconf macro for INSTALL will subst a relative path to the fallback
795
 
# install-sh script (if chosen). This not terribly useful to us, so we convert
796
 
# it into an abs. path.
797
 
798
 
INSTALL                 := $(subst .././install-sh,$(FPTOOLS_TOP_ABS)/install-sh,$(INSTALL))
799
 
LATEX                   = latex
800
 
HEVEA                   = hevea
801
 
HACHA                   = hacha
802
 
LN_S                    = @LN_S@
803
 
MANMACROS               = -man
804
 
MSMACROS                = -ms
805
 
MV                      = mv
806
 
NROFF                   = nroff
807
 
PERL                    = @PerlCmd@
808
 
PYTHON                  = @PythonCmd@
809
 
PIC                     = pic
810
 
PREPROCESSCMD           = $(CC) -E
811
 
RANLIB                  = @RANLIB@
812
 
RM                      = rm -f
813
 
SED                     = @SedCmd@
814
 
SHELL                   = /bin/sh
815
 
 
816
 
LD                      = @LdCmd@
817
 
 
818
 
# Some ld's support the -x flag and some don't, so the configure
819
 
# script detects which we have and sets LdXFlag to "-x" or ""
820
 
# respectively.
821
 
LD_X                    = @LdXFlag@
822
 
 
823
 
# GNU ld supports input via a linker script, which is useful to avoid
824
 
# overflowing command-line length limits.
825
 
LdIsGNULd               = @LdIsGNULd@
826
 
 
827
 
#
828
 
# In emergency situations, REAL_SHELL is used to perform shell commands
829
 
# from within the ghc driver script, by scribbling the command line to
830
 
# a temp file and then having $(REAL_SHELL) execute it. 
831
 
#
832
 
# The reason for having to do this is that overly long command lines
833
 
# cause unnecessary trouble with some shells (e.g., /bin/sh on Solaris
834
 
# 2.5.1), which is why this backdoor is provided. The situation of overly
835
 
# long command lines is either encountered while doing `make boot' in ghc/compiler, 
836
 
# or when linking the compiler binary (`hsc'). 
837
 
#
838
 
# We do not use SHELL to execute long commands, as `make' will more than likely
839
 
# override whatever setting you have in your environment while executing. 
840
 
 
841
 
# By default, REAL_SHELL is set equal to SHELL, which is not really a smart move
842
 
# as it is SHELL that will show up the bogosity in the first place, but setting
843
 
# it to anything else isn't really portable.
844
 
#
845
 
#  ====> If long command lines cause you trouble, invoke `ghc' (via `make' or otherwise)
846
 
# with REAL_SHELL set to something else than /bin/sh, for instance, your favourite
847
 
# command shell.
848
 
#
849
 
REAL_SHELL=$(SHELL)
850
 
SIZE                    = size
851
 
STRIP                   = strip
852
 
TAR                     = @TarCmd@
853
 
ZIP                     = zip
854
 
 
855
 
#
856
 
# This is special to literate/, ToDo: add literate-specific
857
 
# configure setup to literate/.
858
 
#
859
 
TBL                     = tbl
860
 
TEX                     = tex
861
 
TGRIND                  = tgrind
862
 
TGRIND_HELPER           = /usr/local/lib/tgrind/tfontedpr # XXX
863
 
TIB                     = tib
864
 
 
865
 
TIME                    = @TimeCmd@
866
 
TROFF                   = troff
867
 
UNAME                   = uname
868
 
 
869
 
#-----------------------------------------------------------------------------
870
 
# DocBook XML stuff
871
 
 
872
 
XSLTPROC                = @XsltprocCmd@
873
 
XMLLINT                 = @XmllintCmd@
874
 
FOP                     = @FopCmd@
875
 
XMLTEX                  = @XmltexCmd@
876
 
PDFXMLTEX               = @PdfxmltexCmd@
877
 
DVIPS                   = @DvipsCmd@
878
 
 
879
 
DIR_DOCBOOK_XSL         = @DIR_DOCBOOK_XSL@
880
 
 
881
 
XSLTPROC_LABEL_OPTS     = --stringparam toc.section.depth 3 \
882
 
                          --stringparam section.autolabel 1 \
883
 
                          --stringparam section.label.includes.component.label 1
884
 
 
885
 
#-----------------------------------------------------------------------------
886
 
#               FPtools support software
887
 
 
888
 
# Stuff from fptools/glafp-utils
889
 
MKDEPENDC               = $(MKDEPENDC_PREFIX)mkdependC
890
 
LTX                     = $(LTX_PREFIX)ltx
891
 
MKDIRHIER               = $(MKDIRHIER_PREFIX)mkdirhier
892
 
LNDIR                   = $(LNDIR_PREFIX)lndir
893
 
ETAGS                   = $(ETAGS_PREFIX)etags
894
 
VERBATIM                = $(VERBATIM_PREFIX)verbatim
895
 
SGMLVERB                = $(SGMLVERB_PREFIX)sgmlverb
896
 
RUNTEST                 = $(RUNTEST_PREFIX)runstdtest
897
 
 
898
 
BLD_DLL                 = dllwrap
899
 
 
900
 
#
901
 
# .NET support software
902
 
#
903
 
ILX2IL                  = ilx2il
904
 
ILASM                   = ilasm
905
 
 
906
 
#
907
 
# ghc-pkg
908
 
#
909
 
GHC_PKG                 = @GhcPkgCmd@
910
 
 
911
 
#
912
 
# GreenCard
913
 
#
914
 
GREENCARD               = @GreenCardCmd@
915
 
GREENCARD_VERSION       = @GreenCardVersion@            
916
 
 
917
 
#
918
 
# Happy
919
 
#
920
 
HAPPY                   = @HappyCmd@
921
 
HAPPY_VERSION           = @HappyVersion@                
922
 
#
923
 
# Options to pass to Happy when we're going to compile the output with GHC
924
 
#
925
 
GHC_HAPPY_OPTS          = -agc
926
 
 
927
 
# Temp. to work around performance problems in the HEAD around 8/12/2003,
928
 
# A Happy compiled with this compiler needs more stack.
929
 
SRC_HAPPY_OPTS          = +RTS -K2m -RTS
930
 
 
931
 
#
932
 
# Alex
933
 
#
934
 
ALEX                    = @AlexCmd@
935
 
ALEX_VERSION            = @AlexVersion@         
936
 
#
937
 
# Options to pass to Happy when we're going to compile the output with GHC
938
 
#
939
 
GHC_ALEX_OPTS           = -g
940
 
 
941
 
#
942
 
# Haddock
943
 
944
 
HADDOCK                 = @HaddockCmd@
945
 
HADDOCK_INPLACE         = $(HADDOCK_PREFIX)/src/haddock-inplace
946
 
 
947
 
#
948
 
# Stuff from fptools/literate
949
 
#
950
 
LIT2PGM                 = $(LITERATE_PREFIX)lit2pgm
951
 
LIT2HTML                = $(LITERATE_PREFIX)lit2html
952
 
LIT2LATEX               = $(LITERATE_PREFIX)lit2latex
953
 
MKDEPENDLIT             = $(LITERATE_PREFIX)mkdependlit
954
 
LIT2CHANGELOG           = $(LITERATE_PREFIX)lit2changelog
955
 
LIT2TEXT                = $(LITERATE_PREFIX)lit2text
956
 
 
957
 
#
958
 
# Stuff from fptools/ghc/utils
959
 
#
960
 
UNLIT                   = $(UNLIT_PREFIX)unlit$(exeext)
961
 
HP2PS                   = $(HP2PS_PREFIX)hp2ps$(exeext)
962
 
HSTAGS                  = $(HSTAGS_PREFIX)hasktags
963
 
HSC2HS                  = $(HSC2HS_PREFIX)hsc2hs-inplace
964
 
 
965
 
#
966
 
# Options for the compiling different `ways'. Various projects within
967
 
# the glorious fptools tree support building in various user-configured
968
 
# ways. For instance, you could set up one `way' such that the prelude
969
 
# libraries all were built with the option -ffoldr-build-on.
970
 
971
 
# To configure up your own way, have a look at some of the standard ways
972
 
# such as profiling, and create your own set of WAY_*_OPTS defs below.
973
 
# After having done that, add your way string to WAYS, and after having
974
 
# run the configure script, the different projects will add the new way
975
 
# to the list of ways they support.
976
 
#
977
 
 
978
 
#
979
 
# IMPORTANT! The WAYS variable configures the different `ways'
980
 
# you want to build a project (or maybe just parts of it, as is
981
 
# the case for ghc/). This variable is intended set inside the
982
 
# project mk setup, enforcing a global fptools WAYS is a bit too
983
 
# much (do you *really* want to build glafp-utils the profiled-concurrent 
984
 
# way?)
985
 
#
986
 
 
987
 
#
988
 
# Definitions of the different ways:
989
 
#   
990
 
#   * their name:
991
 
#          - tag, e.g., p
992
 
#          - description, e.g., profiling
993
 
#   * what they mean to the driver:
994
 
#          - WAY_p_HC_OPTS gives the list of command-line options
995
 
#            to the driver.
996
 
#
997
 
 
998
 
#
999
 
# The ways currently defined.
1000
 
#
1001
 
ALL_WAYS=p t u s mp mg a b c d e f g h i j k l m n o A B
1002
 
USER_WAYS=a b c d e f g h j k l m n o A B
1003
 
 
1004
 
#
1005
 
# The following ways currently have treated specially, p u t mg,
1006
 
# as the driver script treats these guys specially and needs to carefully be told
1007
 
# about the options for these. Hence, we hide the required command line options
1008
 
# for these in the ghc/driver, as this is the only place they are needed.
1009
 
1010
 
# If you want to add to these default options, fill in the variables below:
1011
 
 
1012
 
# Way 'i':
1013
 
WAY_i_NAME=ILX
1014
 
WAY_i_HC_OPTS= -filx -fruntime-types
1015
 
 
1016
 
# Way 'p':
1017
 
WAY_p_NAME=profiling
1018
 
WAY_p_HC_OPTS= -prof
1019
 
 
1020
 
# Way 't':
1021
 
WAY_t_NAME=ticky-ticky profiling
1022
 
WAY_t_HC_OPTS= -ticky
1023
 
 
1024
 
# Way `u':
1025
 
WAY_u_NAME=unregisterized (using portable C only)
1026
 
WAY_u_HC_OPTS=-unreg
1027
 
 
1028
 
# Way `s':
1029
 
WAY_s_NAME=threads (for SMP)
1030
 
WAY_s_HC_OPTS=-smp
1031
 
 
1032
 
# Way `mp': 
1033
 
WAY_mp_NAME=parallel
1034
 
WAY_mp_HC_OPTS=-parallel
1035
 
 
1036
 
# Way `mg': 
1037
 
WAY_mg_NAME=GranSim
1038
 
WAY_mg_HC_OPTS=-gransim
1039
 
 
1040
 
#
1041
 
# These ways apply to the RTS only:
1042
 
#
1043
 
 
1044
 
# Way 'thr':
1045
 
WAY_thr_NAME=threaded
1046
 
WAY_thr_HC_OPTS=-optc-DTHREADED_RTS
1047
 
 
1048
 
# Way 'thr_p':
1049
 
WAY_thr_p_NAME=threaded profiled
1050
 
WAY_thr_p_HC_OPTS=-optc-DTHREADED_RTS -prof
1051
 
 
1052
 
# Way 'debug':
1053
 
WAY_debug_NAME=debug
1054
 
WAY_debug_HC_OPTS=-optc-DDEBUG
1055
 
 
1056
 
# Way 'debug_p':
1057
 
WAY_debug_p_NAME=debug profiled
1058
 
WAY_debug_p_HC_OPTS=-optc-DDEBUG -prof
1059
 
 
1060
 
# Way 'debug_u':
1061
 
WAY_debug_u_NAME=debug unregisterised
1062
 
WAY_debug_u_HC_OPTS=-optc-DDEBUG -unreg
1063
 
 
1064
 
# Way 'thr_debug':
1065
 
WAY_thr_debug_NAME=threaded
1066
 
WAY_thr_debug_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG
1067
 
 
1068
 
# Way 'thr_debug_p':
1069
 
WAY_thr_debug_p_NAME=threaded
1070
 
WAY_thr_debug_p_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG -prof
1071
 
 
1072
 
#
1073
 
# Add user-way configurations here:
1074
 
#
1075
 
WAY_A_NAME=
1076
 
WAY_A_HC_OPTS=
1077
 
 
1078
 
WAY_B_NAME=
1079
 
WAY_B_HC_OPTS=
1080
 
 
1081
 
WAY_a_NAME=
1082
 
WAY_a_HC_OPTS=
1083
 
 
1084
 
WAY_b_NAME=
1085
 
WAY_b_HC_OPTS=
1086
 
 
1087
 
WAY_c_NAME=
1088
 
WAY_c_HC_OPTS=
1089
 
 
1090
 
WAY_d_NAME=
1091
 
WAY_d_HC_OPTS=
1092
 
 
1093
 
WAY_e_NAME=
1094
 
WAY_e_HC_OPTS=
1095
 
 
1096
 
WAY_f_NAME=
1097
 
WAY_f_HC_OPTS=
1098
 
 
1099
 
WAY_g_NAME=
1100
 
WAY_g_HC_OPTS=
1101
 
 
1102
 
WAY_h_NAME=
1103
 
WAY_h_HC_OPTS=
1104
 
 
1105
 
WAY_j_NAME=
1106
 
WAY_j_HC_OPTS=
1107
 
 
1108
 
WAY_k_NAME=
1109
 
WAY_k_HC_OPTS=
1110
 
 
1111
 
WAY_l_NAME=
1112
 
WAY_l_HC_OPTS=
1113
 
 
1114
 
WAY_m_NAME=
1115
 
WAY_m_HC_OPTS=
1116
 
 
1117
 
WAY_n_NAME=
1118
 
WAY_n_HC_OPTS=
1119
 
 
1120
 
WAY_o_NAME=
1121
 
WAY_o_HC_OPTS=
1122
 
 
1123
 
################################################################################
1124
 
#
1125
 
#               31-bit-Int Core files
1126
 
#
1127
 
################################################################################
1128
 
 
1129
 
1130
 
# It is possible to configure the compiler and prelude to support 31-bit
1131
 
# integers, suitable for a back-end and RTS using a tag bit on a 32-bit
1132
 
# architecture.  Currently the only useful output from this option is external Core
1133
 
# files.  The following additions to your build.mk will produce the
1134
 
# 31-bit core output.  Note that this is *not* just a library "way"; the
1135
 
# compiler must be built a special way too.
1136
 
 
1137
 
# GhcCppOpts +=-DWORD_SIZE_IN_BITS=31
1138
 
# GhcLibHcOpts +=-fext-core -fno-code -DWORD_SIZE_IN_BITS=31
1139
 
# GhcLibCppOpts += -DWORD_SIZE_IN_BITS=31
1140
 
# SplitObjs=NO
1141