curses 1.2.6 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +19 -0
- data/.github/workflows/ubuntu.yml +26 -0
- data/.github/workflows/windows.yml +28 -0
- data/.gitmodules +1 -1
- data/.travis.yml +6 -3
- data/History.md +40 -0
- data/README.md +4 -1
- data/Rakefile +0 -83
- data/curses.gemspec +2 -3
- data/ext/curses/curses.c +1271 -151
- data/ext/curses/extconf.rb +140 -17
- data/lib/curses.rb +5 -12
- data/sample/form.rb +52 -0
- data/sample/menu.rb +1 -1
- data/vendor/PDCurses/.gitignore +47 -0
- data/vendor/PDCurses/.travis.yml +49 -0
- data/vendor/PDCurses/CMakeLists.txt +68 -0
- data/vendor/PDCurses/HISTORY.md +2036 -0
- data/vendor/PDCurses/IMPLEMNT.md +327 -0
- data/vendor/PDCurses/README.md +77 -0
- data/vendor/PDCurses/acs_defs.h +265 -0
- data/vendor/PDCurses/appveyor.yml +218 -0
- data/vendor/PDCurses/cmake/README.md +71 -0
- data/vendor/PDCurses/cmake/build_dependencies.cmake +178 -0
- data/vendor/PDCurses/cmake/build_options.cmake +25 -0
- data/vendor/PDCurses/cmake/dll_version.cmake +26 -0
- data/vendor/PDCurses/cmake/gen_config_header.cmake +43 -0
- data/vendor/PDCurses/cmake/get_version.cmake +17 -0
- data/vendor/PDCurses/cmake/make_uninstall.cmake +19 -0
- data/vendor/PDCurses/cmake/project_common.cmake +121 -0
- data/vendor/PDCurses/cmake/resource.in.cmake +52 -0
- data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +83 -0
- data/vendor/PDCurses/cmake/target_arch.cmake +36 -0
- data/vendor/PDCurses/cmake/version.in.cmake +73 -0
- data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +96 -0
- data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +106 -0
- data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +105 -0
- data/vendor/PDCurses/curses.h +1846 -0
- data/vendor/PDCurses/curspriv.h +134 -0
- data/vendor/PDCurses/demos/README.md +25 -0
- data/vendor/PDCurses/demos/firework.c +144 -0
- data/vendor/PDCurses/demos/newtest.c +581 -0
- data/vendor/PDCurses/demos/ozdemo.c +447 -0
- data/vendor/PDCurses/demos/ptest.c +283 -0
- data/vendor/PDCurses/demos/rain.c +157 -0
- data/vendor/PDCurses/demos/testcurs.c +1607 -0
- data/vendor/PDCurses/demos/tui.c +1048 -0
- data/vendor/PDCurses/demos/tui.h +65 -0
- data/vendor/PDCurses/demos/tuidemo.c +233 -0
- data/vendor/PDCurses/demos/version.c +61 -0
- data/vendor/PDCurses/demos/worm.c +432 -0
- data/vendor/PDCurses/demos/xmas.c +955 -0
- data/vendor/PDCurses/dos/CMakeLists.txt +47 -0
- data/vendor/PDCurses/dos/Makefile.bcc +83 -0
- data/vendor/PDCurses/dos/Makefile.dmc +257 -0
- data/vendor/PDCurses/dos/Makefile.msc +113 -0
- data/vendor/PDCurses/dos/Makefile.wcc +107 -0
- data/vendor/PDCurses/dos/README.md +51 -0
- data/vendor/PDCurses/dos/bccdos.lrf +9 -0
- data/vendor/PDCurses/dos/mscdos.lrf +50 -0
- data/vendor/PDCurses/dos/pdcclip.c +132 -0
- data/vendor/PDCurses/dos/pdcdisp.c +135 -0
- data/vendor/PDCurses/dos/pdcdos.h +194 -0
- data/vendor/PDCurses/dos/pdcgetsc.c +98 -0
- data/vendor/PDCurses/dos/pdckbd.c +513 -0
- data/vendor/PDCurses/dos/pdcscrn.c +785 -0
- data/vendor/PDCurses/dos/pdcsetsc.c +101 -0
- data/vendor/PDCurses/dos/pdcutil.c +212 -0
- data/vendor/PDCurses/libobjs.mif +26 -0
- data/vendor/PDCurses/makedist.mif +20 -0
- data/vendor/PDCurses/man/README.md +21 -0
- data/vendor/PDCurses/man/intro.md +361 -0
- data/vendor/PDCurses/man/manext.c +119 -0
- data/vendor/PDCurses/man/sdl.md +152 -0
- data/vendor/PDCurses/man/sdl2.md +58 -0
- data/vendor/PDCurses/man/x11.md +407 -0
- data/vendor/PDCurses/ncurses/CMakeLists.txt +66 -0
- data/vendor/PDCurses/ncurses/README.md +26 -0
- data/vendor/PDCurses/ncurses/makefile +29 -0
- data/vendor/PDCurses/os2/CMakeLists.txt +41 -0
- data/vendor/PDCurses/os2/Makefile.bcc +90 -0
- data/vendor/PDCurses/os2/Makefile.wcc +43 -0
- data/vendor/PDCurses/os2/README.md +43 -0
- data/vendor/PDCurses/os2/iccos2.lrf +50 -0
- data/vendor/PDCurses/os2/iccos2.mak +256 -0
- data/vendor/PDCurses/os2/pdcclip.c +188 -0
- data/vendor/PDCurses/os2/pdcdisp.c +93 -0
- data/vendor/PDCurses/os2/pdcgetsc.c +89 -0
- data/vendor/PDCurses/os2/pdckbd.c +521 -0
- data/vendor/PDCurses/os2/pdcos2.h +55 -0
- data/vendor/PDCurses/os2/pdcscrn.c +449 -0
- data/vendor/PDCurses/os2/pdcsetsc.c +112 -0
- data/vendor/PDCurses/os2/pdcutil.c +52 -0
- data/vendor/PDCurses/panel.h +56 -0
- data/vendor/PDCurses/pdcurses/README.md +25 -0
- data/vendor/PDCurses/pdcurses/addch.c +693 -0
- data/vendor/PDCurses/pdcurses/addchstr.c +245 -0
- data/vendor/PDCurses/pdcurses/addstr.c +240 -0
- data/vendor/PDCurses/pdcurses/attr.c +359 -0
- data/vendor/PDCurses/pdcurses/beep.c +68 -0
- data/vendor/PDCurses/pdcurses/bkgd.c +223 -0
- data/vendor/PDCurses/pdcurses/border.c +411 -0
- data/vendor/PDCurses/pdcurses/clear.c +159 -0
- data/vendor/PDCurses/pdcurses/color.c +298 -0
- data/vendor/PDCurses/pdcurses/debug.c +109 -0
- data/vendor/PDCurses/pdcurses/delch.c +96 -0
- data/vendor/PDCurses/pdcurses/deleteln.c +211 -0
- data/vendor/PDCurses/pdcurses/deprec.c +27 -0
- data/vendor/PDCurses/pdcurses/getch.c +417 -0
- data/vendor/PDCurses/pdcurses/getstr.c +474 -0
- data/vendor/PDCurses/pdcurses/getyx.c +139 -0
- data/vendor/PDCurses/pdcurses/inch.c +127 -0
- data/vendor/PDCurses/pdcurses/inchstr.c +214 -0
- data/vendor/PDCurses/pdcurses/initscr.c +367 -0
- data/vendor/PDCurses/pdcurses/inopts.c +324 -0
- data/vendor/PDCurses/pdcurses/insch.c +271 -0
- data/vendor/PDCurses/pdcurses/insstr.c +264 -0
- data/vendor/PDCurses/pdcurses/instr.c +246 -0
- data/vendor/PDCurses/pdcurses/kernel.c +259 -0
- data/vendor/PDCurses/pdcurses/keyname.c +157 -0
- data/vendor/PDCurses/pdcurses/mouse.c +438 -0
- data/vendor/PDCurses/pdcurses/move.c +57 -0
- data/vendor/PDCurses/pdcurses/outopts.c +159 -0
- data/vendor/PDCurses/pdcurses/overlay.c +214 -0
- data/vendor/PDCurses/pdcurses/pad.c +260 -0
- data/vendor/PDCurses/pdcurses/panel.c +633 -0
- data/vendor/PDCurses/pdcurses/printw.c +126 -0
- data/vendor/PDCurses/pdcurses/refresh.c +279 -0
- data/vendor/PDCurses/pdcurses/scanw.c +578 -0
- data/vendor/PDCurses/pdcurses/scr_dump.c +213 -0
- data/vendor/PDCurses/pdcurses/scroll.c +101 -0
- data/vendor/PDCurses/pdcurses/slk.c +591 -0
- data/vendor/PDCurses/pdcurses/termattr.c +182 -0
- data/vendor/PDCurses/pdcurses/terminfo.c +217 -0
- data/vendor/PDCurses/pdcurses/touch.c +163 -0
- data/vendor/PDCurses/pdcurses/util.c +312 -0
- data/vendor/PDCurses/pdcurses/window.c +569 -0
- data/vendor/PDCurses/sdl1/Makefile.mng +110 -0
- data/vendor/PDCurses/sdl1/README.md +31 -0
- data/vendor/PDCurses/sdl1/deffont.h +385 -0
- data/vendor/PDCurses/sdl1/deficon.h +23 -0
- data/vendor/PDCurses/sdl1/pdcclip.c +131 -0
- data/vendor/PDCurses/sdl1/pdcdisp.c +373 -0
- data/vendor/PDCurses/sdl1/pdcgetsc.c +30 -0
- data/vendor/PDCurses/sdl1/pdckbd.c +405 -0
- data/vendor/PDCurses/sdl1/pdcscrn.c +414 -0
- data/vendor/PDCurses/sdl1/pdcsdl.h +31 -0
- data/vendor/PDCurses/sdl1/pdcsetsc.c +64 -0
- data/vendor/PDCurses/sdl1/pdcutil.c +40 -0
- data/vendor/PDCurses/sdl1/sdltest.c +79 -0
- data/vendor/PDCurses/sdl2/CMakeLists.txt +76 -0
- data/vendor/PDCurses/sdl2/Makefile.vc +164 -0
- data/vendor/PDCurses/sdl2/README.md +34 -0
- data/vendor/PDCurses/sdl2/deffont.h +385 -0
- data/vendor/PDCurses/sdl2/deficon.h +23 -0
- data/vendor/PDCurses/sdl2/pdcclip.c +93 -0
- data/vendor/PDCurses/sdl2/pdcdisp.c +534 -0
- data/vendor/PDCurses/sdl2/pdcgetsc.c +30 -0
- data/vendor/PDCurses/sdl2/pdckbd.c +480 -0
- data/vendor/PDCurses/sdl2/pdcscrn.c +443 -0
- data/vendor/PDCurses/sdl2/pdcsdl.h +33 -0
- data/vendor/PDCurses/sdl2/pdcsetsc.c +67 -0
- data/vendor/PDCurses/sdl2/pdcutil.c +39 -0
- data/vendor/PDCurses/sdl2/sdltest.c +81 -0
- data/vendor/PDCurses/term.h +48 -0
- data/vendor/PDCurses/version.mif +7 -0
- data/vendor/PDCurses/vt/CMakeLists.txt +28 -0
- data/vendor/PDCurses/vt/Makefile.bcc +111 -0
- data/vendor/PDCurses/vt/Makefile.dmc +258 -0
- data/vendor/PDCurses/vt/Makefile.vc +144 -0
- data/vendor/PDCurses/vt/Makefile.wcc +107 -0
- data/vendor/PDCurses/vt/README.md +64 -0
- data/vendor/PDCurses/vt/pdcclip.c +20 -0
- data/vendor/PDCurses/vt/pdcdisp.c +284 -0
- data/vendor/PDCurses/vt/pdcgetsc.c +27 -0
- data/vendor/PDCurses/vt/pdckbd.c +394 -0
- data/vendor/PDCurses/vt/pdcscrn.c +434 -0
- data/vendor/PDCurses/vt/pdcsetsc.c +45 -0
- data/vendor/PDCurses/vt/pdcutil.c +43 -0
- data/vendor/PDCurses/vt/pdcvt.h +16 -0
- data/vendor/PDCurses/watcom.mif +68 -0
- data/vendor/PDCurses/wincon/CMakeLists.txt +27 -0
- data/vendor/PDCurses/wincon/Makefile.bcc +88 -0
- data/vendor/PDCurses/wincon/Makefile.dmc +256 -0
- data/vendor/PDCurses/wincon/Makefile.lcc +273 -0
- data/vendor/PDCurses/wincon/Makefile.mng +176 -0
- data/vendor/PDCurses/wincon/Makefile.vc +144 -0
- data/vendor/PDCurses/wincon/Makefile.wcc +51 -0
- data/vendor/PDCurses/wincon/README.md +85 -0
- data/vendor/PDCurses/wincon/pdcclip.c +174 -0
- data/vendor/PDCurses/wincon/pdcdisp.c +143 -0
- data/vendor/PDCurses/wincon/pdcgetsc.c +55 -0
- data/vendor/PDCurses/wincon/pdckbd.c +786 -0
- data/vendor/PDCurses/wincon/pdcscrn.c +717 -0
- data/vendor/PDCurses/wincon/pdcsetsc.c +91 -0
- data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
- data/vendor/PDCurses/wincon/pdcurses.rc +28 -0
- data/vendor/PDCurses/wincon/pdcutil.c +41 -0
- data/vendor/PDCurses/wincon/pdcwin.h +31 -0
- data/vendor/PDCurses/wingui/CMakeLists.txt +27 -0
- data/vendor/PDCurses/wingui/Makefile.bcc +85 -0
- data/vendor/PDCurses/wingui/Makefile.dmc +259 -0
- data/vendor/PDCurses/wingui/Makefile.lcc +273 -0
- data/vendor/PDCurses/wingui/Makefile.mng +171 -0
- data/vendor/PDCurses/wingui/Makefile.vc +144 -0
- data/vendor/PDCurses/wingui/Makefile.wcc +51 -0
- data/vendor/PDCurses/wingui/README.md +93 -0
- data/vendor/PDCurses/wingui/pdcclip.c +174 -0
- data/vendor/PDCurses/wingui/pdcdisp.c +718 -0
- data/vendor/PDCurses/wingui/pdcgetsc.c +30 -0
- data/vendor/PDCurses/wingui/pdckbd.c +143 -0
- data/vendor/PDCurses/wingui/pdcscrn.c +2797 -0
- data/vendor/PDCurses/wingui/pdcsetsc.c +89 -0
- data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
- data/vendor/PDCurses/wingui/pdcurses.rc +28 -0
- data/vendor/PDCurses/wingui/pdcutil.c +61 -0
- data/vendor/PDCurses/wingui/pdcwin.h +122 -0
- data/vendor/PDCurses/x11/Makefile.in +754 -0
- data/vendor/PDCurses/x11/PDCurses.spec +82 -0
- data/vendor/PDCurses/x11/README.md +62 -0
- data/vendor/PDCurses/x11/ScrollBox.c +319 -0
- data/vendor/PDCurses/x11/ScrollBox.h +51 -0
- data/vendor/PDCurses/x11/ScrollBoxP.h +70 -0
- data/vendor/PDCurses/x11/aclocal.m4 +994 -0
- data/vendor/PDCurses/x11/big_icon.xbm +46 -0
- data/vendor/PDCurses/x11/compose.h +201 -0
- data/vendor/PDCurses/x11/config.guess +1500 -0
- data/vendor/PDCurses/x11/config.h.in +100 -0
- data/vendor/PDCurses/x11/config.sub +1616 -0
- data/vendor/PDCurses/x11/configure +6700 -0
- data/vendor/PDCurses/x11/configure.ac +295 -0
- data/vendor/PDCurses/x11/debian/changelog +6 -0
- data/vendor/PDCurses/x11/debian/compat +1 -0
- data/vendor/PDCurses/x11/debian/control +11 -0
- data/vendor/PDCurses/x11/debian/copyright +27 -0
- data/vendor/PDCurses/x11/debian/rules +98 -0
- data/vendor/PDCurses/x11/install-sh +253 -0
- data/vendor/PDCurses/x11/little_icon.xbm +14 -0
- data/vendor/PDCurses/x11/ncurses_cfg.h +45 -0
- data/vendor/PDCurses/x11/pdcclip.c +173 -0
- data/vendor/PDCurses/x11/pdcdisp.c +85 -0
- data/vendor/PDCurses/x11/pdcgetsc.c +28 -0
- data/vendor/PDCurses/x11/pdckbd.c +104 -0
- data/vendor/PDCurses/x11/pdcscrn.c +258 -0
- data/vendor/PDCurses/x11/pdcsetsc.c +95 -0
- data/vendor/PDCurses/x11/pdcutil.c +52 -0
- data/vendor/PDCurses/x11/pdcx11.c +316 -0
- data/vendor/PDCurses/x11/pdcx11.h +191 -0
- data/vendor/PDCurses/x11/sb.c +155 -0
- data/vendor/PDCurses/x11/x11.c +3686 -0
- data/vendor/PDCurses/x11/xcurses-config.in +81 -0
- metadata +255 -21
@@ -0,0 +1,51 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright 1989 O'Reilly and Associates, Inc.
|
3
|
+
|
4
|
+
The X Consortium, and any party obtaining a copy of these files from
|
5
|
+
the X Consortium, directly or indirectly, is granted, free of charge, a
|
6
|
+
full and unrestricted irrevocable, world-wide, paid up, royalty-free,
|
7
|
+
nonexclusive right and license to deal in this software and
|
8
|
+
documentation files (the "Software"), including without limitation the
|
9
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense,
|
10
|
+
and/or sell copies of the Software, and to permit persons who receive
|
11
|
+
copies from any such party to do so. This license includes without
|
12
|
+
limitation a license to do the foregoing actions under any patents of
|
13
|
+
the party supplying this software to the X Consortium.
|
14
|
+
*/
|
15
|
+
|
16
|
+
#ifndef _XORAscrollBox_h
|
17
|
+
#define _XORAscrollBox_h
|
18
|
+
|
19
|
+
/************************************************************************
|
20
|
+
* *
|
21
|
+
* scrollBox Widget (subclass of CompositeClass) *
|
22
|
+
* *
|
23
|
+
************************************************************************/
|
24
|
+
|
25
|
+
/* Parameters:
|
26
|
+
|
27
|
+
Name Class RepType Default Value
|
28
|
+
---- ----- ------- -------------
|
29
|
+
background Background Pixel XtDefaultBackground
|
30
|
+
border BorderColor Pixel XtDefaultForeground
|
31
|
+
borderWidth BorderWidth Dimension 1
|
32
|
+
destroyCallback Callback Pointer NULL
|
33
|
+
hSpace HSpace Dimension 4
|
34
|
+
height Height Dimension 0
|
35
|
+
mappedWhenManaged MappedWhenManaged Boolean True
|
36
|
+
vSpace VSpace Dimension 4
|
37
|
+
width Width Dimension 0
|
38
|
+
x Position Position 0
|
39
|
+
y Position Position 0
|
40
|
+
|
41
|
+
*/
|
42
|
+
|
43
|
+
|
44
|
+
/* Class record constants */
|
45
|
+
|
46
|
+
extern WidgetClass scrollBoxWidgetClass;
|
47
|
+
|
48
|
+
typedef struct _ScrollBoxClassRec *ScrollBoxWidgetClass;
|
49
|
+
typedef struct _ScrollBoxRec *ScrollBoxWidget;
|
50
|
+
|
51
|
+
#endif /* _XORAscrollBox_h */
|
@@ -0,0 +1,70 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright 1989 O'Reilly and Associates, Inc.
|
3
|
+
|
4
|
+
The X Consortium, and any party obtaining a copy of these files from
|
5
|
+
the X Consortium, directly or indirectly, is granted, free of charge, a
|
6
|
+
full and unrestricted irrevocable, world-wide, paid up, royalty-free,
|
7
|
+
nonexclusive right and license to deal in this software and
|
8
|
+
documentation files (the "Software"), including without limitation the
|
9
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense,
|
10
|
+
and/or sell copies of the Software, and to permit persons who receive
|
11
|
+
copies from any such party to do so. This license includes without
|
12
|
+
limitation a license to do the foregoing actions under any patents of
|
13
|
+
the party supplying this software to the X Consortium.
|
14
|
+
*/
|
15
|
+
|
16
|
+
/*
|
17
|
+
* scrollBoxP.h - Private definitions for scrollBox widget
|
18
|
+
*
|
19
|
+
*/
|
20
|
+
|
21
|
+
#ifndef _XORAscrollBoxP_h
|
22
|
+
#define _XORAscrollBoxP_h
|
23
|
+
|
24
|
+
/************************************************************************
|
25
|
+
* *
|
26
|
+
* scrollBox Widget Private Data *
|
27
|
+
* *
|
28
|
+
************************************************************************/
|
29
|
+
|
30
|
+
#include "x11/ScrollBox.h"
|
31
|
+
|
32
|
+
#include <X11/CompositeP.h>
|
33
|
+
|
34
|
+
/* New fields for the scrollBox widget class record */
|
35
|
+
typedef struct _ScrollBoxClass {
|
36
|
+
int empty;
|
37
|
+
} ScrollBoxClassPart;
|
38
|
+
|
39
|
+
/* Full class record declaration */
|
40
|
+
typedef struct _ScrollBoxClassRec {
|
41
|
+
CoreClassPart core_class;
|
42
|
+
CompositeClassPart composite_class;
|
43
|
+
ScrollBoxClassPart scrollBox_class;
|
44
|
+
} ScrollBoxClassRec;
|
45
|
+
|
46
|
+
extern ScrollBoxClassRec scrollBoxClassRec;
|
47
|
+
|
48
|
+
/* New fields for the scrollBox widget record */
|
49
|
+
typedef struct {
|
50
|
+
Dimension h_space, v_space;
|
51
|
+
Dimension preferred_width, preferred_height;
|
52
|
+
Dimension last_query_width, last_query_height;
|
53
|
+
Dimension increment_width, increment_height;
|
54
|
+
XtGeometryMask last_query_mode;
|
55
|
+
} ScrollBoxPart;
|
56
|
+
|
57
|
+
|
58
|
+
/************************************************************************
|
59
|
+
* *
|
60
|
+
* Full instance record declaration *
|
61
|
+
* *
|
62
|
+
************************************************************************/
|
63
|
+
|
64
|
+
typedef struct _ScrollBoxRec {
|
65
|
+
CorePart core;
|
66
|
+
CompositePart composite;
|
67
|
+
ScrollBoxPart scrollBox;
|
68
|
+
} ScrollBoxRec;
|
69
|
+
|
70
|
+
#endif /* _XORAscrollBoxP_h */
|
@@ -0,0 +1,994 @@
|
|
1
|
+
dnl ---------------------------------------------------------------------------
|
2
|
+
dnl This file offers the following macros...
|
3
|
+
dnl ---------------------------------------------------------------------------
|
4
|
+
dnl MH_IPC
|
5
|
+
dnl MH_CHECK_X_INC
|
6
|
+
dnl MH_CHECK_X_LIB
|
7
|
+
dnl MH_CHECK_X_HEADERS
|
8
|
+
dnl MH_CHECK_X_KEYDEFS
|
9
|
+
dnl MH_CHECK_X_TYPEDEF
|
10
|
+
dnl MH_CHECK_LIB
|
11
|
+
dnl MH_SHARED_LIBRARY
|
12
|
+
dnl MH_HOWTO_DYN_LINK
|
13
|
+
dnl MH_CHECK_CC_O
|
14
|
+
dnl MH_SHLPST
|
15
|
+
dnl MH_CHECK_MAX_SIGNALS
|
16
|
+
dnl MH_CHECK_OSX_ARCH
|
17
|
+
dnl MH_GET_DISTRO_NAME
|
18
|
+
dnl MH_CHECK_RPM
|
19
|
+
dnl MH_CHECK_ARCH
|
20
|
+
dnl AC_DEFINE_DIR
|
21
|
+
|
22
|
+
dnl ---------------------------------------------------------------------------
|
23
|
+
dnl Determine if the system has System V IPC. ie sys/ipc.h and sys/shm.h
|
24
|
+
dnl headers.
|
25
|
+
dnl ---------------------------------------------------------------------------
|
26
|
+
AC_DEFUN([MH_IPC],
|
27
|
+
[
|
28
|
+
AC_CHECK_HEADER(sys/ipc.h)
|
29
|
+
if test $ac_cv_header_sys_ipc_h = no; then
|
30
|
+
AC_MSG_ERROR(Cannot find required header file sys/ipc.h; PDCurses cannot be configured)
|
31
|
+
fi
|
32
|
+
])dnl
|
33
|
+
|
34
|
+
dnl ---------------------------------------------------------------------------
|
35
|
+
dnl Set up the correct X header file location
|
36
|
+
dnl ---------------------------------------------------------------------------
|
37
|
+
AC_DEFUN([MH_CHECK_X_INC],
|
38
|
+
[
|
39
|
+
mh_x11_dir=""
|
40
|
+
mh_x11_xaw_dir=""
|
41
|
+
|
42
|
+
mh_inc_dirs="$ac_x_header_dirs"
|
43
|
+
|
44
|
+
dnl Provide for user supplying directory
|
45
|
+
|
46
|
+
if test "x$x_includes" != xNONE ; then
|
47
|
+
mh_inc_dirs="$x_includes $mh_inc_dirs"
|
48
|
+
fi
|
49
|
+
|
50
|
+
dnl Try to determine the directory containing X headers
|
51
|
+
dnl We will append X11 to all the paths above as an extra check
|
52
|
+
|
53
|
+
for ac_dir in $mh_inc_dirs ; do
|
54
|
+
if test -r $ac_dir/Intrinsic.h; then
|
55
|
+
mh_x11_dir=$ac_dir
|
56
|
+
break
|
57
|
+
fi
|
58
|
+
if test -r $ac_dir/X11/Intrinsic.h; then
|
59
|
+
mh_x11_dir="$ac_dir/X11"
|
60
|
+
break
|
61
|
+
fi
|
62
|
+
done
|
63
|
+
|
64
|
+
dnl Try to determine the directory containing Xaw headers
|
65
|
+
dnl We will append X11 to all the paths above as an extra check
|
66
|
+
|
67
|
+
if test "$with_xaw3d" = yes; then
|
68
|
+
mh_xaw_dir="Xaw3d"
|
69
|
+
else
|
70
|
+
if test "$with_nextaw" = yes; then
|
71
|
+
mh_xaw_dir="neXtaw"
|
72
|
+
else
|
73
|
+
mh_xaw_dir="Xaw"
|
74
|
+
fi
|
75
|
+
fi
|
76
|
+
for ac_dir in $mh_inc_dirs ; do
|
77
|
+
if test -r $ac_dir/$mh_xaw_dir/Box.h; then
|
78
|
+
mh_x11_xaw_dir=$ac_dir
|
79
|
+
break
|
80
|
+
fi
|
81
|
+
if test -r $ac_dir/X11/$mh_xaw_dir/Box.h; then
|
82
|
+
mh_x11_xaw_dir="$ac_dir/X11"
|
83
|
+
break
|
84
|
+
fi
|
85
|
+
done
|
86
|
+
|
87
|
+
if test "x$mh_x11_dir" != "x" ; then
|
88
|
+
mh_x11_dir_no_x11=`echo $mh_x11_dir | sed 's/\/X11$//'`
|
89
|
+
|
90
|
+
if test "$mh_x11_dir_no_x11" != "$mh_x11_dir" ; then
|
91
|
+
MH_XINC_DIR="-I$mh_x11_dir -I$mh_x11_dir_no_x11"
|
92
|
+
else
|
93
|
+
MH_XINC_DIR="-I$mh_x11_dir"
|
94
|
+
fi
|
95
|
+
else
|
96
|
+
AC_MSG_ERROR(Cannot find required header file Intrinsic.h; PDCurses cannot be configured)
|
97
|
+
fi
|
98
|
+
|
99
|
+
if test "x$mh_x11_xaw_dir" != "x"; then
|
100
|
+
if test "$mh_x11_xaw_dir" != "$mh_x11_dir" ; then
|
101
|
+
MH_XINC_DIR="-I$mh_x11_xaw_dir $MH_XINC_DIR"
|
102
|
+
fi
|
103
|
+
else
|
104
|
+
AC_MSG_ERROR(Cannot find required Xaw header file Box.h; PDCurses cannot be configured)
|
105
|
+
fi
|
106
|
+
|
107
|
+
AC_SUBST(MH_XINC_DIR)
|
108
|
+
|
109
|
+
])dnl
|
110
|
+
|
111
|
+
dnl ---------------------------------------------------------------------------
|
112
|
+
dnl Set up the correct X library file location
|
113
|
+
dnl ---------------------------------------------------------------------------
|
114
|
+
AC_DEFUN([MH_CHECK_X_LIB],
|
115
|
+
[
|
116
|
+
dnl Some systems require extra libraries...
|
117
|
+
|
118
|
+
mh_solaris_flag=no
|
119
|
+
mh_hpux9_flag=no
|
120
|
+
AC_REQUIRE([AC_CANONICAL_SYSTEM])
|
121
|
+
case "$target" in
|
122
|
+
*solaris*)
|
123
|
+
mh_solaris_flag=yes
|
124
|
+
;;
|
125
|
+
*pc-sco*)
|
126
|
+
extra_x_libs="Xext"
|
127
|
+
;;
|
128
|
+
sparc*sunos*)
|
129
|
+
extra_x_libs="Xext"
|
130
|
+
if test "$ac_cv_prog_CC" = "gcc" ; then
|
131
|
+
extra_ld_flags="-Wl,-Bstatic"
|
132
|
+
extra_ld_flags2="-Wl,-Bdynamic"
|
133
|
+
else
|
134
|
+
extra_ld_flags="-Bstatic"
|
135
|
+
extra_ld_flags2="-Bdynamic"
|
136
|
+
fi
|
137
|
+
;;
|
138
|
+
*hpux9*)
|
139
|
+
mh_hpux9_flag=yes
|
140
|
+
;;
|
141
|
+
esac
|
142
|
+
|
143
|
+
if test "$with_xaw3d" = yes; then
|
144
|
+
MH_X11_LIBS="Xaw3d Xmu Xt X11"
|
145
|
+
else
|
146
|
+
if test "$with_nextaw" = yes; then
|
147
|
+
MH_X11_LIBS="neXtaw Xmu Xt X11"
|
148
|
+
else
|
149
|
+
MH_X11_LIBS="Xaw Xmu Xt X11"
|
150
|
+
fi
|
151
|
+
fi
|
152
|
+
MH_X11R6_LIBS="SM ICE Xext"
|
153
|
+
mh_x11r6=no
|
154
|
+
|
155
|
+
which dpkg-architecture > /dev/null
|
156
|
+
if test $? -eq 0; then
|
157
|
+
multiarch_libdir="/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`"
|
158
|
+
else
|
159
|
+
multiarch_libdir=""
|
160
|
+
fi
|
161
|
+
|
162
|
+
mh_lib_dirs="$multiarch_libdir /usr/lib64 /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu $x_libraries `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`"
|
163
|
+
|
164
|
+
dnl try to find libSM.[a,sl,so,dylib]. If we find it we are using X11R6
|
165
|
+
for ac_dir in $mh_lib_dirs ; do
|
166
|
+
for mh_xsm in libSM.a libSM.so libSM.sl libSM.dylib; do
|
167
|
+
if test -r $ac_dir/$mh_xsm; then
|
168
|
+
mh_x11r6=yes
|
169
|
+
break 2
|
170
|
+
fi
|
171
|
+
done
|
172
|
+
done
|
173
|
+
|
174
|
+
if test "$mh_x11r6" = yes ; then
|
175
|
+
mh_libs="$MH_X11_LIBS $MH_X11R6_LIBS"
|
176
|
+
else
|
177
|
+
mh_libs="$MH_X11_LIBS $extra_x_libs"
|
178
|
+
fi
|
179
|
+
|
180
|
+
|
181
|
+
dnl Ensure that all required X libraries are found
|
182
|
+
|
183
|
+
mh_prev_dir=""
|
184
|
+
mh_where_found=""
|
185
|
+
mh_where_found_dirs=""
|
186
|
+
mh_solaris_path=""
|
187
|
+
for mh_lib in $mh_libs; do
|
188
|
+
mh_lib_found=no
|
189
|
+
for ac_dir in $mh_lib_dirs ; do
|
190
|
+
for mh_ext in a so sl dll.a dylib; do
|
191
|
+
if test -r $ac_dir/lib$mh_lib.$mh_ext; then
|
192
|
+
if test "x$mh_prev_dir" != "x$ac_dir" ; then
|
193
|
+
if test "x$mh_prev_dir" = "x" ; then
|
194
|
+
mh_where_found="$mh_where_found found in $ac_dir"
|
195
|
+
else
|
196
|
+
mh_where_found="$mh_where_found and in $ac_dir"
|
197
|
+
fi
|
198
|
+
mh_prev_dir=$ac_dir
|
199
|
+
mh_where_found_dirs="$mh_where_found_dirs $ac_dir"
|
200
|
+
MH_XLIBS="$MH_XLIBS -L$ac_dir"
|
201
|
+
mh_solaris_path="${mh_solaris_path}:$ac_dir"
|
202
|
+
fi
|
203
|
+
MH_XLIBS="$MH_XLIBS -l$mh_lib"
|
204
|
+
mh_lib_found=yes
|
205
|
+
break 2
|
206
|
+
fi
|
207
|
+
done
|
208
|
+
done
|
209
|
+
if test "$mh_lib_found" = no; then
|
210
|
+
AC_MSG_ERROR(Cannot find required X library; lib$mh_lib. PDCurses cannot be configured)
|
211
|
+
fi
|
212
|
+
done
|
213
|
+
|
214
|
+
mh_solaris_path=`echo $mh_solaris_path | sed 's/^://'`
|
215
|
+
if test "$mh_solaris_flag" = yes ; then
|
216
|
+
MH_XLIBS="-R$mh_solaris_path $extra_ld_flags $MH_XLIBS $extra_libs $extra_ld_flags2"
|
217
|
+
else
|
218
|
+
MH_XLIBS="$extra_ld_flags $MH_XLIBS $extra_libs $extra_ld_flags2"
|
219
|
+
fi
|
220
|
+
if test "$mh_hpux9_flag" = yes ; then
|
221
|
+
grep -q XtSetLanguageProc $mh_x11_dir/Intrinsic.h
|
222
|
+
if test $? -eq 0 ; then
|
223
|
+
mh_found_xtshellstrings=no
|
224
|
+
for mh_acdir in $mh_where_found_dirs ; do
|
225
|
+
for mh_xaw in `ls $mh_acdir/libXaw.*` ; do
|
226
|
+
nm $mh_xaw | grep XtShellStrings | grep -qv extern
|
227
|
+
if test $? -eq 0 ; then
|
228
|
+
mh_found_xtshellstrings=yes
|
229
|
+
fi
|
230
|
+
done
|
231
|
+
done
|
232
|
+
if test "$mh_found_xtshellstrings" = no ; then
|
233
|
+
AC_MSG_WARN(The X11 development environment has not been installed correctly.)
|
234
|
+
AC_MSG_WARN(The header file; Intrinsic.h, is for X11R5 while the Athena Widget)
|
235
|
+
AC_MSG_WARN(Set library; libXaw is for X11R4. This is a common problem with)
|
236
|
+
AC_MSG_WARN(HP-UX 9.x.)
|
237
|
+
AC_MSG_ERROR(X11 installation incomplete; cannot continue)
|
238
|
+
fi
|
239
|
+
fi
|
240
|
+
fi
|
241
|
+
|
242
|
+
AC_SUBST(MH_XLIBS)
|
243
|
+
|
244
|
+
])dnl
|
245
|
+
|
246
|
+
dnl ---------------------------------------------------------------------------
|
247
|
+
dnl Determine if the supplied X headers exist.
|
248
|
+
dnl ---------------------------------------------------------------------------
|
249
|
+
AC_DEFUN([MH_CHECK_X_HEADERS],
|
250
|
+
[
|
251
|
+
save_CPPFLAGS="$CPPFLAGS"
|
252
|
+
CPPFLAGS="$CPPFLAGS $MH_XINC_DIR"
|
253
|
+
for mh_header in $1; do
|
254
|
+
AC_CHECK_HEADERS($mh_header)
|
255
|
+
done
|
256
|
+
CPPFLAGS="$save_CPPFLAGS"
|
257
|
+
])dnl
|
258
|
+
|
259
|
+
dnl ---------------------------------------------------------------------------
|
260
|
+
dnl Determine if various key definitions exist in keysym.h
|
261
|
+
dnl ---------------------------------------------------------------------------
|
262
|
+
AC_DEFUN([MH_CHECK_X_KEYDEFS],
|
263
|
+
[
|
264
|
+
save_CPPFLAGS="$CPPFLAGS"
|
265
|
+
CPPFLAGS="$CPPFLAGS $MH_XINC_DIR"
|
266
|
+
for mh_keydef in $1; do
|
267
|
+
AC_MSG_CHECKING(for $mh_keydef in keysym.h)
|
268
|
+
mh_upper_name="HAVE_`echo $mh_keydef | tr '[a-z]' '[A-Z]'`"
|
269
|
+
AC_TRY_COMPILE([#include <keysym.h>],
|
270
|
+
[int i = $mh_keydef;],
|
271
|
+
mh_have_key=yes; AC_DEFINE_UNQUOTED($mh_upper_name,1), mh_have_key=no )
|
272
|
+
AC_MSG_RESULT($mh_have_key)
|
273
|
+
done
|
274
|
+
CPPFLAGS="$save_CPPFLAGS"
|
275
|
+
])dnl
|
276
|
+
|
277
|
+
dnl ---------------------------------------------------------------------------
|
278
|
+
dnl Determine if supplied types have been typedefed
|
279
|
+
dnl ---------------------------------------------------------------------------
|
280
|
+
AC_DEFUN([MH_CHECK_X_TYPEDEF],
|
281
|
+
[
|
282
|
+
save_CPPFLAGS="$CPPFLAGS"
|
283
|
+
CPPFLAGS="$CPPFLAGS $SYS_DEFS $MH_XINC_DIR"
|
284
|
+
for td in $1 ; do
|
285
|
+
AC_MSG_CHECKING(if $td is typedefed:)
|
286
|
+
AC_TRY_COMPILE(
|
287
|
+
[#include "X11/Xlib.h"],
|
288
|
+
[$td fred],
|
289
|
+
[mh_td=yes],
|
290
|
+
[mh_td=no]
|
291
|
+
)
|
292
|
+
if test "$mh_td" = yes ; then
|
293
|
+
TD_upper=`echo $td | tr a-z A-Z`
|
294
|
+
AC_DEFINE_UNQUOTED(${TD_upper}_TYPEDEFED, 1)
|
295
|
+
fi
|
296
|
+
AC_MSG_RESULT($mh_td)
|
297
|
+
done
|
298
|
+
CPPFLAGS="$save_CPPFLAGS"
|
299
|
+
])dnl
|
300
|
+
|
301
|
+
dnl ---------------------------------------------------------------------------
|
302
|
+
dnl Check for presence of various libraries
|
303
|
+
dnl ---------------------------------------------------------------------------
|
304
|
+
AC_DEFUN([MH_CHECK_LIB],
|
305
|
+
[
|
306
|
+
MH_EXTRA_LIBS=''
|
307
|
+
for mh_lib in $1; do
|
308
|
+
if test "$on_qnx" = yes; then
|
309
|
+
AC_MSG_CHECKING(for library -l${mh_lib})
|
310
|
+
if test -r /usr/lib/${mh_lib}3r.lib; then
|
311
|
+
AC_MSG_RESULT(found)
|
312
|
+
MH_EXTRA_LIBS="${MH_EXTRA_LIBS} -l${mh_lib}"
|
313
|
+
else
|
314
|
+
AC_MSG_RESULT(not found)
|
315
|
+
fi
|
316
|
+
else
|
317
|
+
AC_CHECK_LIB($mh_lib,main,mh_lib_found=yes,mh_lib_found=no)
|
318
|
+
if test "$mh_lib_found" = yes; then
|
319
|
+
MH_EXTRA_LIBS="${MH_EXTRA_LIBS} -l${mh_lib}"
|
320
|
+
fi
|
321
|
+
fi
|
322
|
+
done
|
323
|
+
])dnl
|
324
|
+
|
325
|
+
dnl ---------------------------------------------------------------------------
|
326
|
+
dnl Work out how to create a dynamically loaded module
|
327
|
+
dnl ---------------------------------------------------------------------------
|
328
|
+
AC_DEFUN([MH_HOWTO_DYN_LINK],
|
329
|
+
[
|
330
|
+
mh_compile='${CC-cc} -c $DYN_COMP conftest.$ac_ext 1>&AC_FD_CC'
|
331
|
+
cat > conftest.$ac_ext <<EOF
|
332
|
+
dnl [#]line __oline__ "[$]0"
|
333
|
+
[#]line __oline__ "configure"
|
334
|
+
int foo()
|
335
|
+
{
|
336
|
+
return(0);
|
337
|
+
}
|
338
|
+
EOF
|
339
|
+
if AC_TRY_EVAL(mh_compile) && test -s conftest.o; then
|
340
|
+
mh_dyn_link='ld -shared -o conftest.rxlib conftest.o -lc 1>&AC_FD_CC'
|
341
|
+
# mh_dyn_link='${CC} -Wl,-shared -o conftest.rxlib conftest.o -lc 1>&AC_FD_CC'
|
342
|
+
if AC_TRY_EVAL(mh_dyn_link) && test -s conftest.rxlib; then
|
343
|
+
LD_RXLIB1="ld -shared"
|
344
|
+
# LD_RXLIB1="${CC} -Wl,-shared"
|
345
|
+
SHLPRE="lib"
|
346
|
+
SHLPST=".so"
|
347
|
+
else
|
348
|
+
mh_dyn_link='ld -G -o conftest.rxlib conftest.o 1>&AC_FD_CC'
|
349
|
+
# mh_dyn_link='${CC} -Wl,-G -o conftest.rxlib conftest.o 1>&AC_FD_CC'
|
350
|
+
if AC_TRY_EVAL(mh_dyn_link) && test -s conftest.rxlib; then
|
351
|
+
LD_RXLIB1="ld -G"
|
352
|
+
# LD_RXLIB1="${CC} -Wl,-G"
|
353
|
+
SHLPRE="lib"
|
354
|
+
SHLPST=".so"
|
355
|
+
else
|
356
|
+
LD_RXLIB1=""
|
357
|
+
SHLPRE=""
|
358
|
+
SHLPST=""
|
359
|
+
fi
|
360
|
+
fi
|
361
|
+
fi
|
362
|
+
rm -f conftest*
|
363
|
+
])dnl
|
364
|
+
|
365
|
+
dnl ---------------------------------------------------------------------------
|
366
|
+
dnl Determine how to build shared libraries etc..
|
367
|
+
dnl ---------------------------------------------------------------------------
|
368
|
+
AC_DEFUN([MH_SHARED_LIBRARY],
|
369
|
+
[
|
370
|
+
AC_REQUIRE([MH_SHLPST])
|
371
|
+
dnl
|
372
|
+
dnl If compiler is gcc, then flags should be the same for all platforms
|
373
|
+
dnl (just guessing on this)
|
374
|
+
dnl
|
375
|
+
AIX_DYN="no"
|
376
|
+
BEOS_DYN="no"
|
377
|
+
SHLFILE="$1"
|
378
|
+
SHLFILES="$*"
|
379
|
+
RXPACKEXPORTS=""
|
380
|
+
SHLPRE="lib"
|
381
|
+
LD_RXLIB1=""
|
382
|
+
BASE_INSTALL="installbase"
|
383
|
+
BASE_BINARY="binarybase"
|
384
|
+
# OTHER_INSTALLS is set to install a non-version numbered shared library
|
385
|
+
# by default; ie. no .\$(ABI) suffix. Set OTHER_INSTALLS="installabilib" if you
|
386
|
+
# are building a version numbered shared library.
|
387
|
+
OTHER_INSTALLS="installlib"
|
388
|
+
|
389
|
+
AC_REQUIRE([AC_CANONICAL_SYSTEM])
|
390
|
+
case "$target" in
|
391
|
+
*hp-hpux*)
|
392
|
+
SYS_DEFS="-D_HPUX_SOURCE"
|
393
|
+
LD_RXLIB1="ld -b -q -n"
|
394
|
+
;;
|
395
|
+
*ibm-aix*)
|
396
|
+
SYS_DEFS="-D_ALL_SOURCE -DAIX"
|
397
|
+
AIX_DYN="yes"
|
398
|
+
DYN_COMP="-DDYNAMIC"
|
399
|
+
LD_RXLIB1="ld -bnoentry -bM:SRE"
|
400
|
+
RXPACKEXPORTS="-bE:$SHLFILE.exp"
|
401
|
+
RXPACKEXP="$SHLFILE.exp"
|
402
|
+
;;
|
403
|
+
*dec-osf*)
|
404
|
+
if test "$ac_cv_prog_CC" = "gcc"; then
|
405
|
+
SYS_DEFS="-D_POSIX_SOURCE -D_XOPEN_SOURCE"
|
406
|
+
else
|
407
|
+
SYS_DEFS="-D_POSIX_SOURCE -D_XOPEN_SOURCE -Olimit 800"
|
408
|
+
fi
|
409
|
+
LD_RXLIB1="ld -shared"
|
410
|
+
;;
|
411
|
+
*sequent-dynix*|*esix*|*dgux*)
|
412
|
+
LD_RXLIB1="ld -G"
|
413
|
+
;;
|
414
|
+
*solaris*)
|
415
|
+
if test "$ac_cv_prog_CC" = "gcc"; then
|
416
|
+
LD_RXLIB1="gcc -shared"
|
417
|
+
else
|
418
|
+
LD_RXLIB1="ld -G"
|
419
|
+
fi
|
420
|
+
;;
|
421
|
+
sparc*sunos*)
|
422
|
+
SYS_DEFS="-DSUNOS -DSUNOS_STRTOD_BUG"
|
423
|
+
LD_RXLIB1="ld"
|
424
|
+
;;
|
425
|
+
*atheos*|*nto-qnx*)
|
426
|
+
LD_RXLIB1="${CC} -shared"
|
427
|
+
;;
|
428
|
+
*linux*|*kfreebsd*-gnu*)
|
429
|
+
LD_RXLIB1="${CC} -shared -Wl,-soname,\$(@)"
|
430
|
+
CAN_USE_ABI="yes"
|
431
|
+
if test "$USE_ABI" = "yes"; then
|
432
|
+
OTHER_INSTALLS="installabilib"
|
433
|
+
fi
|
434
|
+
;;
|
435
|
+
*freebsd*)
|
436
|
+
LD_RXLIB1="ld -Bdynamic -Bshareable"
|
437
|
+
;;
|
438
|
+
*pc-sco*)
|
439
|
+
LD_RXLIB1="ld -dy -G"
|
440
|
+
;;
|
441
|
+
*beos*)
|
442
|
+
LD_RXLIB1="${CC} -Wl,-shared -nostart -Xlinker -soname=\$(@)"
|
443
|
+
BEOS_DYN="yes"
|
444
|
+
;;
|
445
|
+
*qnx*)
|
446
|
+
SHLPRE=""
|
447
|
+
DYN_COMP="-Q" # force no check for dynamic loading
|
448
|
+
SHLFILE=""
|
449
|
+
;;
|
450
|
+
*cygwin)
|
451
|
+
SHLPRE=""
|
452
|
+
DYN_COMP="-DDYNAMIC"
|
453
|
+
LD_RXLIB1="dllwrap --def \$(srcdir)/../win32/pdcurses.def --target i386-cygwin32 --dllname \$(@)"
|
454
|
+
# cygwininstall target MUST install the shared library itself because
|
455
|
+
# it puts it into $(bindir) not $(libdir) as all other platforms
|
456
|
+
;;
|
457
|
+
*darwin*)
|
458
|
+
DYN_COMP="-fno-common"
|
459
|
+
LD_RXLIB1="${CC} -flat_namespace -undefined suppress -dynamiclib -install_name=\$(@)"
|
460
|
+
;;
|
461
|
+
*)
|
462
|
+
;;
|
463
|
+
esac
|
464
|
+
|
465
|
+
dnl determine what switches our compiler uses for building objects
|
466
|
+
dnl suitable for inclusion in shared libraries
|
467
|
+
dnl Only call this if DYN_COMP is not set. If we have set DYN_COMP
|
468
|
+
dnl above, then we know how to compile AND link for dynamic libraries
|
469
|
+
|
470
|
+
if test "$DYN_COMP" = ""; then
|
471
|
+
AC_MSG_CHECKING(compiler flags for a dynamic object)
|
472
|
+
|
473
|
+
cat > conftest.$ac_ext <<EOF
|
474
|
+
dnl [#]line __oline__ "[$]0"
|
475
|
+
[#]line __oline__ "configure"
|
476
|
+
int a=0
|
477
|
+
EOF
|
478
|
+
|
479
|
+
DYN_COMP=""
|
480
|
+
mh_cv_stop=no
|
481
|
+
save_cflags="$CFLAGS"
|
482
|
+
mh_cv_flags="-fPIC -KPIC +Z"
|
483
|
+
for a in $mh_cv_flags; do
|
484
|
+
CFLAGS="-c $a"
|
485
|
+
|
486
|
+
mh_compile='${CC-cc} -c $CFLAGS conftest.$ac_ext > conftest.tmp 2>&1'
|
487
|
+
if AC_TRY_EVAL(mh_compile); then
|
488
|
+
DYN_COMP=""
|
489
|
+
else
|
490
|
+
slash="\\"
|
491
|
+
mh_dyncomp="`egrep -c $slash$a conftest.tmp`"
|
492
|
+
if test "$mh_dyncomp" = "0"; then
|
493
|
+
DYN_COMP="$a -DDYNAMIC"
|
494
|
+
AC_MSG_RESULT($a)
|
495
|
+
break
|
496
|
+
else
|
497
|
+
DYN_COMP=""
|
498
|
+
fi
|
499
|
+
fi
|
500
|
+
done
|
501
|
+
if test "$DYN_COMP" = ""; then
|
502
|
+
AC_MSG_RESULT(none of $mh_cv_flags supported)
|
503
|
+
fi
|
504
|
+
if test "$LD_RXLIB1" = ""; then
|
505
|
+
MH_HOWTO_DYN_LINK()
|
506
|
+
fi
|
507
|
+
CFLAGS=$save_cflags
|
508
|
+
rm -f conftest.*
|
509
|
+
fi
|
510
|
+
|
511
|
+
|
512
|
+
SHL_TARGETS=""
|
513
|
+
|
514
|
+
if test "$AIX_DYN" = "yes"; then
|
515
|
+
aix_exports="config.exports.aix"
|
516
|
+
echo "" > $aix_exports
|
517
|
+
fi
|
518
|
+
|
519
|
+
if test "$ac_cv_header_dl_h" = "yes" -o "$ac_cv_header_dlfcn_h" = "yes" -o "$AIX_DYN" = "yes" -o "$BEOS_DYN" = "yes" -o "$DLFCNINCDIR" != "" -o "$DLFCNLIBDIR" != ""; then
|
520
|
+
EXPS="1,2,3,4,5,6,7,8,9"
|
521
|
+
for a in $SHLFILES
|
522
|
+
do
|
523
|
+
if test "$USE_ABI" = "yes" -a "$CAN_USE_ABI" = "yes"; then
|
524
|
+
SHL_TARGETS="${SHL_TARGETS} ${SHLPRE}${a}${SHLPST}.\$(ABI)"
|
525
|
+
else
|
526
|
+
SHL_TARGETS="${SHL_TARGETS} ${SHLPRE}${a}${SHLPST}"
|
527
|
+
fi
|
528
|
+
this=`echo $EXPS | cut -d, -f1`
|
529
|
+
EXPS=`echo $EXPS | cut -d, -f2-`
|
530
|
+
if test "$AIX_DYN" = "yes"; then
|
531
|
+
echo "RXPACKEXP$this=$a.exp" >> $aix_exports
|
532
|
+
echo "RXPACKEXPORTS$this=-bE:$a.exp" >> $aix_exports
|
533
|
+
fi
|
534
|
+
done
|
535
|
+
fi
|
536
|
+
|
537
|
+
AC_SUBST(DYN_COMP)
|
538
|
+
AC_SUBST(LIBS)
|
539
|
+
AC_SUBST(LD_RXLIB1)
|
540
|
+
AC_SUBST(SHLPRE)
|
541
|
+
AC_SUBST(SHLPST)
|
542
|
+
AC_SUBST(SHL_TARGETS)
|
543
|
+
AC_SUBST(O2SAVE)
|
544
|
+
AC_SUBST(CC2O)
|
545
|
+
AC_SUBST(SAVE2O)
|
546
|
+
AC_SUBST(RXPACKEXPORTS)
|
547
|
+
AC_SUBST(BASE_INSTALL)
|
548
|
+
AC_SUBST(OTHER_INSTALLS)
|
549
|
+
AC_SUBST(BASE_BINARY)
|
550
|
+
AC_SUBST(CAN_USE_ABI)
|
551
|
+
])dnl
|
552
|
+
|
553
|
+
dnl ---------------------------------------------------------------------------
|
554
|
+
dnl Check if C compiler supports -c -o file.ooo
|
555
|
+
dnl ---------------------------------------------------------------------------
|
556
|
+
AC_DEFUN([MH_CHECK_CC_O],
|
557
|
+
[
|
558
|
+
AC_MSG_CHECKING(whether $CC understand -c and -o together)
|
559
|
+
set dummy $CC; ac_cc="`echo [$]2 |
|
560
|
+
changequote(, )dnl
|
561
|
+
sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`"
|
562
|
+
changequote([, ])dnl
|
563
|
+
AC_CACHE_VAL(ac_cv_prog_cc_${ac_cc}_c_o,
|
564
|
+
[echo 'foo(){}' > conftest.c
|
565
|
+
# We do the test twice because some compilers refuse to overwrite an
|
566
|
+
# existing .o file with -o, though they will create one.
|
567
|
+
eval ac_cv_prog_cc_${ac_cc}_c_o=no
|
568
|
+
ac_try='${CC-cc} -c conftest.c -o conftest.ooo 1>&AC_FD_CC'
|
569
|
+
if AC_TRY_EVAL(ac_try) && test -f conftest.ooo && AC_TRY_EVAL(ac_try);
|
570
|
+
then
|
571
|
+
ac_try='${CC-cc} -c conftest.c -o conftest.ooo 1>&AC_FD_CC'
|
572
|
+
if AC_TRY_EVAL(ac_try) && test -f conftest.ooo && AC_TRY_EVAL(ac_try);
|
573
|
+
then
|
574
|
+
eval ac_cv_prog_cc_${ac_cc}_c_o=yes
|
575
|
+
fi
|
576
|
+
fi
|
577
|
+
rm -f conftest*
|
578
|
+
])dnl
|
579
|
+
if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then
|
580
|
+
O2SAVE=""
|
581
|
+
SAVE2O=""
|
582
|
+
CC2O="-o $"'@'
|
583
|
+
AC_MSG_RESULT(yes)
|
584
|
+
else
|
585
|
+
O2SAVE="-mv \`basename "$'@'" .sho\`.o \`basename "$'@'" .sho\`.o.save;"
|
586
|
+
SAVE2O="-mv \`basename "$'@'" .sho\`.o "$'@'"; mv \`basename "$'@'" .sho\`.o.save \`basename "$'@'" .sho\`.o"
|
587
|
+
CC2O=""
|
588
|
+
AC_MSG_RESULT(no)
|
589
|
+
fi
|
590
|
+
])
|
591
|
+
|
592
|
+
dnl ---------------------------------------------------------------------------
|
593
|
+
dnl Determines the file extension for shared libraries
|
594
|
+
dnl ---------------------------------------------------------------------------
|
595
|
+
AC_DEFUN([MH_SHLPST],
|
596
|
+
[
|
597
|
+
AC_MSG_CHECKING(shared library extension)
|
598
|
+
SHLPST=".so"
|
599
|
+
AC_REQUIRE([AC_CANONICAL_SYSTEM])
|
600
|
+
case "$target" in
|
601
|
+
*hp-hpux*)
|
602
|
+
SHLPST=".sl"
|
603
|
+
;;
|
604
|
+
*ibm-aix*)
|
605
|
+
SHLPST=".a"
|
606
|
+
;;
|
607
|
+
*qnx*)
|
608
|
+
SHLPST=""
|
609
|
+
;;
|
610
|
+
*cygwin*)
|
611
|
+
SHLPST=".dll"
|
612
|
+
;;
|
613
|
+
*darwin*)
|
614
|
+
SHLPST=".dylib"
|
615
|
+
;;
|
616
|
+
esac
|
617
|
+
AC_SUBST(SHLPST)
|
618
|
+
AC_MSG_RESULT($SHLPST)
|
619
|
+
])
|
620
|
+
|
621
|
+
dnl ---------------------------------------------------------------------------
|
622
|
+
dnl Determine the system limit for number of signals
|
623
|
+
dnl ---------------------------------------------------------------------------
|
624
|
+
AC_DEFUN([MH_CHECK_MAX_SIGNALS],
|
625
|
+
[
|
626
|
+
save_CPPFLAGS="$CPPFLAGS"
|
627
|
+
CPPFLAGS="$CPPFLAGS $SYS_DEFS"
|
628
|
+
AC_MSG_CHECKING(for maximum signal specifier:)
|
629
|
+
AC_CACHE_VAL(mh_cv_max_signals,
|
630
|
+
mh_found="no"
|
631
|
+
for mh_sigs in $1; do
|
632
|
+
AC_TRY_COMPILE([#include <signal.h>],
|
633
|
+
[return $mh_sigs;],
|
634
|
+
mh_found="yes"; mh_cv_max_signals="$mh_sigs" )
|
635
|
+
if test "$mh_found" = "yes"; then
|
636
|
+
break;
|
637
|
+
fi
|
638
|
+
done)
|
639
|
+
CPPFLAGS="$save_CPPFLAGS"
|
640
|
+
if test "$mh_found" = "no"; then
|
641
|
+
AC_MSG_ERROR(Cannot find a system limit for number of signals. PDCurses cannot be configured on this machine.)
|
642
|
+
else
|
643
|
+
AC_DEFINE_UNQUOTED(PDC_MAX_SIGNALS,$mh_cv_max_signals)
|
644
|
+
AC_MSG_RESULT($mh_cv_max_signals)
|
645
|
+
fi
|
646
|
+
])dnl
|
647
|
+
|
648
|
+
dnl ---------------------------------------------------------------------------
|
649
|
+
dnl Determines which -arch flags valid on Mac OSX with gcc
|
650
|
+
dnl ---------------------------------------------------------------------------
|
651
|
+
AC_DEFUN([MH_CHECK_OSX_ARCH],
|
652
|
+
[
|
653
|
+
valid_arch_flags=""
|
654
|
+
found_arch_flags=""
|
655
|
+
AC_ARG_WITH(arch,
|
656
|
+
[ --with-arch=option build universal binaries on OS X, option: one of "all 32bit 64bit intel ppc ppc64 x86_64 i386"],
|
657
|
+
[with_arch=$withval],
|
658
|
+
[with_arch=none],
|
659
|
+
)
|
660
|
+
case "$with_arch" in
|
661
|
+
none)
|
662
|
+
arch_flags=""
|
663
|
+
;;
|
664
|
+
all)
|
665
|
+
arch_flags="-arch ppc -arch ppc64 -arch x86_64 -arch i386"
|
666
|
+
;;
|
667
|
+
32bit)
|
668
|
+
arch_flags="-arch ppc -arch i386"
|
669
|
+
;;
|
670
|
+
64bit)
|
671
|
+
arch_flags="-arch ppc64 -arch x86_64"
|
672
|
+
;;
|
673
|
+
intel)
|
674
|
+
arch_flags="-arch i386 -arch x86_64"
|
675
|
+
;;
|
676
|
+
*)
|
677
|
+
arch_flags="-arch $with_arch"
|
678
|
+
;;
|
679
|
+
esac
|
680
|
+
|
681
|
+
valid_arch_flags=""
|
682
|
+
found_arch_flags=""
|
683
|
+
if test $on_osx = "yes"; then
|
684
|
+
AC_MSG_CHECKING(for which Mac OSX -arch flags are supported for universal binaries)
|
685
|
+
for a in $arch_flags; do
|
686
|
+
save_ldflags="$LDFLAGS"
|
687
|
+
LDFLAGS="$LDFLAGS -arch $a"
|
688
|
+
AC_LINK_IFELSE(
|
689
|
+
[AC_LANG_PROGRAM([#include <stdio.h>],
|
690
|
+
[exit(0)])],
|
691
|
+
[valid_arch_flags="$valid_arch_flags -arch $a";found_arch_flags="$found_arch_flags $a"],
|
692
|
+
[a="$a"]
|
693
|
+
)
|
694
|
+
LDFLAGS="$save_ldflags"
|
695
|
+
done
|
696
|
+
AC_MSG_RESULT($found_arch_flags)
|
697
|
+
AC_SUBST(valid_arch_flags)
|
698
|
+
fi
|
699
|
+
])
|
700
|
+
|
701
|
+
dnl ---------------------------------------------------------------------------
|
702
|
+
dnl Determines the Linux distribution name
|
703
|
+
dnl ---------------------------------------------------------------------------
|
704
|
+
AC_DEFUN([MH_GET_DISTRO_NAME],
|
705
|
+
[
|
706
|
+
AC_CHECK_PROG(lsb_release, [lsb_release], yes, no)
|
707
|
+
if test "$ac_cv_prog_lsb_release" = yes; then
|
708
|
+
AC_MSG_CHECKING(OS distribution name)
|
709
|
+
MYDISTRO="`lsb_release -i | cut -f 2`-`lsb_release -r | cut -f 2`"
|
710
|
+
MYDISTRO="`echo $MYDISTRO | sed \"s/ /_/g\"`"
|
711
|
+
AC_MSG_RESULT($MYDISTRO)
|
712
|
+
else
|
713
|
+
case "$target" in
|
714
|
+
*freebsd* | *openbsd*)
|
715
|
+
MYDISTRO="`echo $target | cut -f3 -d-`"
|
716
|
+
;;
|
717
|
+
*darwin*)
|
718
|
+
MYDISTRO="`echo $target | cut -f2-3 -d-`"
|
719
|
+
;;
|
720
|
+
*pc-solaris2*)
|
721
|
+
MYDISTRO="`echo $target | cut -f2- -d-`"
|
722
|
+
;;
|
723
|
+
*cygwin*)
|
724
|
+
MYDISTRO="`echo $target | cut -f2- -d-`"
|
725
|
+
;;
|
726
|
+
*)
|
727
|
+
MYDISTRO="$target"
|
728
|
+
;;
|
729
|
+
esac
|
730
|
+
fi
|
731
|
+
AC_SUBST(MYDISTRO)
|
732
|
+
])
|
733
|
+
|
734
|
+
dnl ---------------------------------------------------------------------------
|
735
|
+
dnl Determines where rpm build files are located
|
736
|
+
dnl ---------------------------------------------------------------------------
|
737
|
+
AC_DEFUN([MH_CHECK_RPM],
|
738
|
+
[
|
739
|
+
AC_CHECK_PROG(mh_rpm_exists, rpm, yes, no )
|
740
|
+
if test "$mh_rpm_exists" = yes; then
|
741
|
+
AC_MSG_CHECKING(where rpms are built)
|
742
|
+
RPMTOPDIR=`rpm --eval "%{_topdir}"`
|
743
|
+
AC_MSG_RESULT($RPMTOPDIR)
|
744
|
+
AC_SUBST(RPMTOPDIR)
|
745
|
+
fi
|
746
|
+
])
|
747
|
+
|
748
|
+
dnl
|
749
|
+
dnl Determine if the platform can handle 64 bit binaries
|
750
|
+
dnl
|
751
|
+
dnl Assumes AC_CANONICAL_SYSTEM has already been called
|
752
|
+
dnl assumes we are on a 32bit system
|
753
|
+
|
754
|
+
AC_DEFUN([MH_CHECK_ARCH],
|
755
|
+
[
|
756
|
+
dnl ---------------------- check 32/64 bit -----------------------
|
757
|
+
dnl allow --with-32bit to ensure that 32bit libraries are used
|
758
|
+
AC_ARG_ENABLE(32bit,
|
759
|
+
[ --enable-32bit specify if 32bit libraries are to be used],
|
760
|
+
[bitflag32=yes],
|
761
|
+
[bitflag32=no],
|
762
|
+
)
|
763
|
+
dnl allow --with-64bit to ensure that 64bit libraries are used
|
764
|
+
AC_ARG_ENABLE(64bit,
|
765
|
+
[ --enable-64bit specify if 64bit libraries are to be used],
|
766
|
+
[bitflag64=yes],
|
767
|
+
[bitflag64=no],
|
768
|
+
)
|
769
|
+
|
770
|
+
#
|
771
|
+
# Now do platform specific tests
|
772
|
+
#
|
773
|
+
gcc_64bit="-m64"
|
774
|
+
gcc_32bit="-m32"
|
775
|
+
on_osx="no"
|
776
|
+
osis64bit=no
|
777
|
+
bitflag=""
|
778
|
+
case "$target" in
|
779
|
+
*hp-hpux*)
|
780
|
+
;;
|
781
|
+
*ibm-aix*)
|
782
|
+
rc=`lsconf -k | grep -c 64-bit`
|
783
|
+
if test $rc -eq 1; then
|
784
|
+
bitflag="64"
|
785
|
+
osis64bit=yes
|
786
|
+
fi
|
787
|
+
#
|
788
|
+
# AIX gcc has its own special bit switches :-(
|
789
|
+
#
|
790
|
+
gcc_64bit="-maix64"
|
791
|
+
gcc_32bit="-maix32"
|
792
|
+
;;
|
793
|
+
*dec-osf4*)
|
794
|
+
;;
|
795
|
+
*dec-osf*)
|
796
|
+
;;
|
797
|
+
*sequent-dynix*)
|
798
|
+
;;
|
799
|
+
i*86*solaris*)
|
800
|
+
;;
|
801
|
+
*solaris*)
|
802
|
+
rc=`isainfo -v | grep -c 64-bit`
|
803
|
+
if test $rc -eq 1; then
|
804
|
+
bitflag="64"
|
805
|
+
osis64bit=yes
|
806
|
+
fi
|
807
|
+
;;
|
808
|
+
sparc*sunos*)
|
809
|
+
;;
|
810
|
+
*linux*|*kfreebsd*-gnu*)
|
811
|
+
mach="`uname -m`"
|
812
|
+
if test "$mach" = "x86_64" -o "$mach" = "ia86" -o "$mach" = "alpha" -o "$mach" = "ppc64" -o "$mach" = "s390x"; then
|
813
|
+
bitflag="64"
|
814
|
+
osis64bit=yes
|
815
|
+
fi
|
816
|
+
;;
|
817
|
+
*-freebsd*)
|
818
|
+
mach="`uname -m`"
|
819
|
+
if test "$mach" = "amd64"; then
|
820
|
+
bitflag="64"
|
821
|
+
osis64bit=yes
|
822
|
+
fi
|
823
|
+
;;
|
824
|
+
*nto-qnx*)
|
825
|
+
;;
|
826
|
+
*qnx*)
|
827
|
+
;;
|
828
|
+
*beos*)
|
829
|
+
;;
|
830
|
+
*cygwin*)
|
831
|
+
;;
|
832
|
+
*apple-darwin*)
|
833
|
+
on_osx="yes"
|
834
|
+
osx_64bit=`sysctl hw.cpu64bit_capable | cut -f2 -d' '`
|
835
|
+
if test $osx_64bit -eq 1; then
|
836
|
+
bitflag="64"
|
837
|
+
osis64bit=yes
|
838
|
+
fi
|
839
|
+
;;
|
840
|
+
esac
|
841
|
+
|
842
|
+
if test "x$bitflag32" = "xyes" -a "x$bitflag64" = "xyes"; then
|
843
|
+
AC_MSG_ERROR(--enable-32bit and --enable-64bit flags cannot both be specified.)
|
844
|
+
fi
|
845
|
+
|
846
|
+
if test "x$bitflag64" = "xyes" -a "$osis64bit" = "no"; then
|
847
|
+
AC_MSG_ERROR(--enable-64bit cannot be specified on non-64bit OS.)
|
848
|
+
fi
|
849
|
+
|
850
|
+
binarybitprefix=""
|
851
|
+
if test "x$bitflag32" = "xyes"; then
|
852
|
+
bitflag="32"
|
853
|
+
if test "$osis64bit" = "yes"; then
|
854
|
+
binarybitprefix="32"
|
855
|
+
fi
|
856
|
+
elif test "x$bitflag64" = "xyes"; then
|
857
|
+
bitflag="64"
|
858
|
+
fi
|
859
|
+
MACH_ARCH=`$ac_config_guess | cut -f1 -d-`
|
860
|
+
AC_SUBST(MACH_ARCH)
|
861
|
+
dnl
|
862
|
+
dnl following variable used to name 32bit binaries on a 64bit system
|
863
|
+
dnl allows 32bit and 64bit binaries t co-exist on a 64bit system
|
864
|
+
AC_SUBST(binarybitprefix)
|
865
|
+
|
866
|
+
dnl --------------- allow --with-arch to specify which architectures to build universal binaries
|
867
|
+
dnl
|
868
|
+
if test "$on_osx" = "yes"; then
|
869
|
+
MH_CHECK_OSX_ARCH()
|
870
|
+
else
|
871
|
+
dnl
|
872
|
+
dnl Now set the correct compiler flags
|
873
|
+
dnl
|
874
|
+
if test "$ac_cv_prog_CC" = "gcc" -o "$ac_cv_prog_CC" = "g++"; then
|
875
|
+
if test "$bitflag" = "32"; then
|
876
|
+
CFLAGS="${CFLAGS} $gcc_32bit"
|
877
|
+
LDFLAGS="${LDFLAGS} $gcc_32bit"
|
878
|
+
elif test "$bitflag" = "64"; then
|
879
|
+
CFLAGS="${CFLAGS} $gcc_64bit"
|
880
|
+
LDFLAGS="${LDFLAGS} $gcc_64bit"
|
881
|
+
else
|
882
|
+
bitflag="32"
|
883
|
+
fi
|
884
|
+
elif test "$ac_cv_prog_CC" = "xlc" -o "$ac_cv_prog_CC" = "xlC"; then
|
885
|
+
if test "$bitflag" = "32"; then
|
886
|
+
CFLAGS="${CFLAGS} -q32"
|
887
|
+
LDFLAGS="${LDFLAGS} -q32"
|
888
|
+
elif test "$bitflag" = "64"; then
|
889
|
+
CFLAGS="${CFLAGS} -q64"
|
890
|
+
LDFLAGS="${LDFLAGS} -q64"
|
891
|
+
else
|
892
|
+
bitflag="32"
|
893
|
+
fi
|
894
|
+
fi
|
895
|
+
fi
|
896
|
+
|
897
|
+
dnl allow --disable-libdir-change to ensure that building a .deb works
|
898
|
+
#libdir_change=yes
|
899
|
+
AC_ARG_ENABLE(libdir-change,
|
900
|
+
[ --enable-libdir-change specify --disable-libdir-change if building a .deb],
|
901
|
+
[libdir_change=$enableval],
|
902
|
+
[libdir_change=yes],
|
903
|
+
)
|
904
|
+
echo "libdir: $libdir_change"
|
905
|
+
if test "$libdir_change" = yes; then
|
906
|
+
dnl
|
907
|
+
dnl If the user hasn't specified libdir, check for specific lib dirs
|
908
|
+
dnl
|
909
|
+
if test "${libdir}" = '${exec_prefix}/lib'; then
|
910
|
+
dnl
|
911
|
+
dnl expand the active $prefix
|
912
|
+
dnl
|
913
|
+
myprefix=$prefix
|
914
|
+
AC_DEFINE_DIR(MY_PREFIX,"$myprefix")
|
915
|
+
if test "${myprefix}" = "NONE"; then
|
916
|
+
myprefix="$ac_default_prefix"
|
917
|
+
fi
|
918
|
+
dnl
|
919
|
+
dnl check for 64bit libdir
|
920
|
+
dnl
|
921
|
+
if test -d "${myprefix}/lib/x86_64-linux-gnu"; then
|
922
|
+
libdir64="${myprefix}/lib/x86_64-linux-gnu"
|
923
|
+
elif test -d "${myprefix}/lib64"; then
|
924
|
+
libdir64="${myprefix}/lib64"
|
925
|
+
else
|
926
|
+
libdir64="${myprefix}/lib"
|
927
|
+
fi
|
928
|
+
dnl
|
929
|
+
dnl check for 32bit libdir
|
930
|
+
dnl
|
931
|
+
if test -d "${myprefix}/lib/i386-linux-gnu"; then
|
932
|
+
libdir32="${myprefix}/lib/i386-linux-gnu"
|
933
|
+
elif test -d "${myprefix}/lib32"; then
|
934
|
+
libdir32="${myprefix}/lib32"
|
935
|
+
else
|
936
|
+
libdir32="${myprefix}/lib"
|
937
|
+
fi
|
938
|
+
dnl
|
939
|
+
dnl Depending on the build type, set the default libdir
|
940
|
+
dnl
|
941
|
+
if test "$bitflag" = "64"; then
|
942
|
+
libdir="$libdir64"
|
943
|
+
else
|
944
|
+
libdir="$libdir32"
|
945
|
+
fi
|
946
|
+
else
|
947
|
+
libdir64="$libdir"
|
948
|
+
libdir32="$libdir"
|
949
|
+
fi
|
950
|
+
else
|
951
|
+
libdir64="$libdir"
|
952
|
+
libdir32="$libdir"
|
953
|
+
fi
|
954
|
+
AC_SUBST(libdir64)
|
955
|
+
AC_SUBST(libdir32)
|
956
|
+
AC_SUBST(bitflag)
|
957
|
+
])
|
958
|
+
dnl @synopsis AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION])
|
959
|
+
dnl
|
960
|
+
dnl This macro sets VARNAME to the expansion of the DIR variable,
|
961
|
+
dnl taking care of fixing up ${prefix} and such.
|
962
|
+
dnl
|
963
|
+
dnl VARNAME is then offered as both an output variable and a C
|
964
|
+
dnl preprocessor symbol.
|
965
|
+
dnl
|
966
|
+
dnl Modified by Mark Hessling to fix eval bug
|
967
|
+
dnl
|
968
|
+
dnl Example:
|
969
|
+
dnl
|
970
|
+
dnl AC_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.])
|
971
|
+
dnl
|
972
|
+
dnl @category Misc
|
973
|
+
dnl @author Stepan Kasal <kasal@ucw.cz>
|
974
|
+
dnl @author Andreas Schwab <schwab@suse.de>
|
975
|
+
dnl @author Guido U. Draheim <guidod@gmx.de>
|
976
|
+
dnl @author Alexandre Oliva
|
977
|
+
dnl @version 2006-10-13
|
978
|
+
dnl @license AllPermissive
|
979
|
+
|
980
|
+
AC_DEFUN([AC_DEFINE_DIR], [
|
981
|
+
prefix_NONE=
|
982
|
+
exec_prefix_NONE=
|
983
|
+
test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
|
984
|
+
test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
|
985
|
+
dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
|
986
|
+
dnl refers to ${prefix}. Thus we have to use `eval' twice.
|
987
|
+
eval ac_define_dir="\"$2\""
|
988
|
+
eval ac_define_dir="\"$ac_define_dir\""
|
989
|
+
AC_SUBST($1, "$ac_define_dir")
|
990
|
+
AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3])
|
991
|
+
test "$prefix_NONE" && prefix=NONE
|
992
|
+
test "$exec_prefix_NONE" && exec_prefix=NONE
|
993
|
+
])
|
994
|
+
|