From 11bc49d01703268c095a2c3d6c0041d3d8caf834 Mon Sep 17 00:00:00 2001 From: Jerome Marty Date: Tue, 21 Dec 2010 11:57:14 +0100 Subject: [PATCH] Added lmarbles game --- .../jni/application/lmarbles-1.0.8/AUTHORS | 6 + .../jni/application/lmarbles-1.0.8/COPYING | 280 + .../jni/application/lmarbles-1.0.8/ChangeLog | 90 + .../jni/application/lmarbles-1.0.8/INSTALL | 167 + .../application/lmarbles-1.0.8/LMarbles.prj | 114 + .../application/lmarbles-1.0.8/Makefile.am | 75 + .../application/lmarbles-1.0.8/Makefile.in | 730 ++ project/jni/application/lmarbles-1.0.8/NEWS | 0 project/jni/application/lmarbles-1.0.8/README | 82 + .../application/lmarbles-1.0.8/README-SDL.txt | 13 + project/jni/application/lmarbles-1.0.8/TODO | 1 + .../jni/application/lmarbles-1.0.8/acconfig.h | 13 + .../application/lmarbles-1.0.8/acinclude.m4 | 175 + .../jni/application/lmarbles-1.0.8/aclocal.m4 | 863 ++ .../application/lmarbles-1.0.8/config.guess | 1317 +++ .../application/lmarbles-1.0.8/config.h.in | 101 + .../jni/application/lmarbles-1.0.8/config.sub | 1411 ++++ .../jni/application/lmarbles-1.0.8/configure | 7373 +++++++++++++++++ .../application/lmarbles-1.0.8/configure.in | 89 + .../jni/application/lmarbles-1.0.8/depcomp | 522 ++ .../jni/application/lmarbles-1.0.8/install-sh | 250 + .../lmarbles-1.0.8/lmarbles.desktop.in | 7 + .../application/lmarbles-1.0.8/lmarbles.spec | 72 + .../application/lmarbles-1.0.8/lmarbles32.gif | Bin 0 -> 770 bytes .../application/lmarbles-1.0.8/lmarbles48.gif | Bin 0 -> 746 bytes .../jni/application/lmarbles-1.0.8/missing | 188 + .../application/lmarbles-1.0.8/mkinstalldirs | 40 + .../lmarbles-1.0.8/src/Makefile.am | 113 + .../lmarbles-1.0.8/src/Makefile.in | 596 ++ .../application/lmarbles-1.0.8/src/audio.c | 151 + .../application/lmarbles-1.0.8/src/audio.h | 64 + .../jni/application/lmarbles-1.0.8/src/cfg.c | 190 + .../jni/application/lmarbles-1.0.8/src/cfg.h | 56 + .../application/lmarbles-1.0.8/src/dynlist.c | 271 + .../application/lmarbles-1.0.8/src/dynlist.h | 58 + .../application/lmarbles-1.0.8/src/empty.prfs | Bin 0 -> 32 bytes .../jni/application/lmarbles-1.0.8/src/file.c | 168 + .../jni/application/lmarbles-1.0.8/src/file.h | 37 + .../jni/application/lmarbles-1.0.8/src/game.c | 2839 +++++++ .../jni/application/lmarbles-1.0.8/src/game.h | 279 + .../lmarbles-1.0.8/src/gfx/board.bmp | Bin 0 -> 96518 bytes .../lmarbles-1.0.8/src/gfx/f_red.bmp | Bin 0 -> 14738 bytes .../lmarbles-1.0.8/src/gfx/f_small.bmp | Bin 0 -> 10210 bytes .../lmarbles-1.0.8/src/gfx/f_white.bmp | Bin 0 -> 14778 bytes .../lmarbles-1.0.8/src/gfx/f_yellow.bmp | Bin 0 -> 14662 bytes .../lmarbles-1.0.8/src/gfx/figure.bmp | Bin 0 -> 2502 bytes .../lmarbles-1.0.8/src/gfx/lights.bmp | Bin 0 -> 1346 bytes .../lmarbles-1.0.8/src/gfx/logo.bmp | Bin 0 -> 180630 bytes .../lmarbles-1.0.8/src/gfx/m_frame.bmp | Bin 0 -> 7130 bytes .../lmarbles-1.0.8/src/gfx/m_sframe.bmp | Bin 0 -> 7434 bytes .../lmarbles-1.0.8/src/gfx/marbles.bmp | Bin 0 -> 82994 bytes .../lmarbles-1.0.8/src/gfx/metal/arrow_d.bmp | Bin 0 -> 4758 bytes .../lmarbles-1.0.8/src/gfx/metal/arrow_l.bmp | Bin 0 -> 4866 bytes .../lmarbles-1.0.8/src/gfx/metal/arrow_r.bmp | Bin 0 -> 4758 bytes .../lmarbles-1.0.8/src/gfx/metal/arrow_u.bmp | Bin 0 -> 4866 bytes .../src/gfx/metal/background.bmp | Bin 0 -> 212278 bytes .../src/gfx/metal/barrier_lr.bmp | Bin 0 -> 1198 bytes .../src/gfx/metal/barrier_ud.bmp | Bin 0 -> 1198 bytes .../lmarbles-1.0.8/src/gfx/metal/floor.bmp | Bin 0 -> 1386 bytes .../src/gfx/metal/teleport0.bmp | Bin 0 -> 5174 bytes .../src/gfx/metal/teleport1.bmp | Bin 0 -> 5174 bytes .../src/gfx/metal/teleport2.bmp | Bin 0 -> 5174 bytes .../src/gfx/metal/teleport3.bmp | Bin 0 -> 5174 bytes .../lmarbles-1.0.8/src/gfx/metal/wall.bmp | Bin 0 -> 4150 bytes .../src/gfx/metal/wall_crumble.bmp | Bin 0 -> 4150 bytes .../lmarbles-1.0.8/src/gfx/stone/arrow_d.bmp | Bin 0 -> 4758 bytes .../lmarbles-1.0.8/src/gfx/stone/arrow_l.bmp | Bin 0 -> 4866 bytes .../lmarbles-1.0.8/src/gfx/stone/arrow_r.bmp | Bin 0 -> 4758 bytes .../lmarbles-1.0.8/src/gfx/stone/arrow_u.bmp | Bin 0 -> 4866 bytes .../src/gfx/stone/background.bmp | Bin 0 -> 212278 bytes .../src/gfx/stone/barrier_lr.bmp | Bin 0 -> 1198 bytes .../src/gfx/stone/barrier_ud.bmp | Bin 0 -> 1198 bytes .../lmarbles-1.0.8/src/gfx/stone/floor.bmp | Bin 0 -> 1210 bytes .../src/gfx/stone/teleport0.bmp | Bin 0 -> 5174 bytes .../src/gfx/stone/teleport1.bmp | Bin 0 -> 5174 bytes .../src/gfx/stone/teleport2.bmp | Bin 0 -> 5174 bytes .../src/gfx/stone/teleport3.bmp | Bin 0 -> 5174 bytes .../lmarbles-1.0.8/src/gfx/stone/wall.bmp | Bin 0 -> 4134 bytes .../src/gfx/stone/wall_crumble.bmp | Bin 0 -> 3822 bytes .../lmarbles-1.0.8/src/gfx/tiny.sdlfnt | Bin 0 -> 880 bytes .../lmarbles-1.0.8/src/gfx/title.bmp | Bin 0 -> 197686 bytes .../lmarbles-1.0.8/src/gfx/win_icon.bmp | Bin 0 -> 1574 bytes .../lmarbles-1.0.8/src/gfx/wood/arrow_d.bmp | Bin 0 -> 4758 bytes .../lmarbles-1.0.8/src/gfx/wood/arrow_l.bmp | Bin 0 -> 4866 bytes .../lmarbles-1.0.8/src/gfx/wood/arrow_r.bmp | Bin 0 -> 4758 bytes .../lmarbles-1.0.8/src/gfx/wood/arrow_u.bmp | Bin 0 -> 4866 bytes .../src/gfx/wood/background.bmp | Bin 0 -> 212278 bytes .../src/gfx/wood/barrier_lr.bmp | Bin 0 -> 1198 bytes .../src/gfx/wood/barrier_ud.bmp | Bin 0 -> 1198 bytes .../lmarbles-1.0.8/src/gfx/wood/floor.bmp | Bin 0 -> 1742 bytes .../lmarbles-1.0.8/src/gfx/wood/teleport0.bmp | Bin 0 -> 5174 bytes .../lmarbles-1.0.8/src/gfx/wood/teleport1.bmp | Bin 0 -> 5174 bytes .../lmarbles-1.0.8/src/gfx/wood/teleport2.bmp | Bin 0 -> 5174 bytes .../lmarbles-1.0.8/src/gfx/wood/teleport3.bmp | Bin 0 -> 5174 bytes .../lmarbles-1.0.8/src/gfx/wood/wall.bmp | Bin 0 -> 4150 bytes .../src/gfx/wood/wall_crumble.bmp | Bin 0 -> 4150 bytes .../application/lmarbles-1.0.8/src/levels.c | 837 ++ .../application/lmarbles-1.0.8/src/levels.h | 104 + .../lmarbles-1.0.8/src/levels/Original | 768 ++ .../application/lmarbles-1.0.8/src/lmarbles.6 | 40 + .../jni/application/lmarbles-1.0.8/src/main.c | 539 ++ .../lmarbles-1.0.8/src/manual/arrow.jpg | Bin 0 -> 613 bytes .../lmarbles-1.0.8/src/manual/arrow2.jpg | Bin 0 -> 908 bytes .../lmarbles-1.0.8/src/manual/crumble.jpg | Bin 0 -> 808 bytes .../lmarbles-1.0.8/src/manual/manual.html | 359 + .../lmarbles-1.0.8/src/manual/marbles.jpg | Bin 0 -> 2712 bytes .../lmarbles-1.0.8/src/manual/teleport.jpg | Bin 0 -> 676 bytes .../jni/application/lmarbles-1.0.8/src/menu.c | 763 ++ .../jni/application/lmarbles-1.0.8/src/menu.h | 120 + .../application/lmarbles-1.0.8/src/profile.c | 422 + .../application/lmarbles-1.0.8/src/profile.h | 53 + .../jni/application/lmarbles-1.0.8/src/sdl.c | 628 ++ .../jni/application/lmarbles-1.0.8/src/sdl.h | 115 + .../lmarbles-1.0.8/src/sounds/alarm.wav | Bin 0 -> 7786 bytes .../lmarbles-1.0.8/src/sounds/arrow.wav | Bin 0 -> 2380 bytes .../lmarbles-1.0.8/src/sounds/click.wav | Bin 0 -> 610 bytes .../lmarbles-1.0.8/src/sounds/explode.wav | Bin 0 -> 23532 bytes .../lmarbles-1.0.8/src/sounds/score.wav | Bin 0 -> 620 bytes .../lmarbles-1.0.8/src/sounds/select.wav | Bin 0 -> 1380 bytes .../lmarbles-1.0.8/src/sounds/stop.wav | Bin 0 -> 1596 bytes .../lmarbles-1.0.8/src/sounds/teleport.wav | Bin 0 -> 17708 bytes .../application/lmarbles-1.0.8/src/timer.c | 47 + .../application/lmarbles-1.0.8/src/timer.h | 24 + .../application/lmarbles-1.0.8/src/win32.ico | Bin 0 -> 12390 bytes 124 files changed, 23620 insertions(+) create mode 100644 project/jni/application/lmarbles-1.0.8/AUTHORS create mode 100644 project/jni/application/lmarbles-1.0.8/COPYING create mode 100644 project/jni/application/lmarbles-1.0.8/ChangeLog create mode 100644 project/jni/application/lmarbles-1.0.8/INSTALL create mode 100644 project/jni/application/lmarbles-1.0.8/LMarbles.prj create mode 100644 project/jni/application/lmarbles-1.0.8/Makefile.am create mode 100644 project/jni/application/lmarbles-1.0.8/Makefile.in create mode 100644 project/jni/application/lmarbles-1.0.8/NEWS create mode 100644 project/jni/application/lmarbles-1.0.8/README create mode 100644 project/jni/application/lmarbles-1.0.8/README-SDL.txt create mode 100644 project/jni/application/lmarbles-1.0.8/TODO create mode 100644 project/jni/application/lmarbles-1.0.8/acconfig.h create mode 100644 project/jni/application/lmarbles-1.0.8/acinclude.m4 create mode 100644 project/jni/application/lmarbles-1.0.8/aclocal.m4 create mode 100755 project/jni/application/lmarbles-1.0.8/config.guess create mode 100644 project/jni/application/lmarbles-1.0.8/config.h.in create mode 100755 project/jni/application/lmarbles-1.0.8/config.sub create mode 100755 project/jni/application/lmarbles-1.0.8/configure create mode 100644 project/jni/application/lmarbles-1.0.8/configure.in create mode 100755 project/jni/application/lmarbles-1.0.8/depcomp create mode 100755 project/jni/application/lmarbles-1.0.8/install-sh create mode 100644 project/jni/application/lmarbles-1.0.8/lmarbles.desktop.in create mode 100644 project/jni/application/lmarbles-1.0.8/lmarbles.spec create mode 100644 project/jni/application/lmarbles-1.0.8/lmarbles32.gif create mode 100644 project/jni/application/lmarbles-1.0.8/lmarbles48.gif create mode 100755 project/jni/application/lmarbles-1.0.8/missing create mode 100755 project/jni/application/lmarbles-1.0.8/mkinstalldirs create mode 100644 project/jni/application/lmarbles-1.0.8/src/Makefile.am create mode 100644 project/jni/application/lmarbles-1.0.8/src/Makefile.in create mode 100644 project/jni/application/lmarbles-1.0.8/src/audio.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/audio.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/cfg.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/cfg.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/dynlist.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/dynlist.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/empty.prfs create mode 100644 project/jni/application/lmarbles-1.0.8/src/file.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/file.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/game.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/game.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/board.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/f_red.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/f_small.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/f_white.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/f_yellow.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/figure.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/lights.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/logo.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/m_frame.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/m_sframe.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/marbles.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/arrow_d.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/arrow_l.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/arrow_r.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/arrow_u.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/background.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/barrier_lr.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/barrier_ud.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/floor.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/teleport0.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/teleport1.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/teleport2.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/teleport3.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/wall.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/metal/wall_crumble.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/arrow_d.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/arrow_l.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/arrow_r.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/arrow_u.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/background.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/barrier_lr.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/barrier_ud.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/floor.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/teleport0.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/teleport1.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/teleport2.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/teleport3.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/wall.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/stone/wall_crumble.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/tiny.sdlfnt create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/title.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/win_icon.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/arrow_d.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/arrow_l.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/arrow_r.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/arrow_u.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/background.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/barrier_lr.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/barrier_ud.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/floor.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/teleport0.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/teleport1.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/teleport2.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/teleport3.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/wall.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/gfx/wood/wall_crumble.bmp create mode 100644 project/jni/application/lmarbles-1.0.8/src/levels.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/levels.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/levels/Original create mode 100644 project/jni/application/lmarbles-1.0.8/src/lmarbles.6 create mode 100644 project/jni/application/lmarbles-1.0.8/src/main.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/manual/arrow.jpg create mode 100644 project/jni/application/lmarbles-1.0.8/src/manual/arrow2.jpg create mode 100644 project/jni/application/lmarbles-1.0.8/src/manual/crumble.jpg create mode 100644 project/jni/application/lmarbles-1.0.8/src/manual/manual.html create mode 100644 project/jni/application/lmarbles-1.0.8/src/manual/marbles.jpg create mode 100644 project/jni/application/lmarbles-1.0.8/src/manual/teleport.jpg create mode 100644 project/jni/application/lmarbles-1.0.8/src/menu.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/menu.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/profile.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/profile.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/sdl.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/sdl.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/sounds/alarm.wav create mode 100644 project/jni/application/lmarbles-1.0.8/src/sounds/arrow.wav create mode 100644 project/jni/application/lmarbles-1.0.8/src/sounds/click.wav create mode 100644 project/jni/application/lmarbles-1.0.8/src/sounds/explode.wav create mode 100644 project/jni/application/lmarbles-1.0.8/src/sounds/score.wav create mode 100644 project/jni/application/lmarbles-1.0.8/src/sounds/select.wav create mode 100644 project/jni/application/lmarbles-1.0.8/src/sounds/stop.wav create mode 100644 project/jni/application/lmarbles-1.0.8/src/sounds/teleport.wav create mode 100644 project/jni/application/lmarbles-1.0.8/src/timer.c create mode 100644 project/jni/application/lmarbles-1.0.8/src/timer.h create mode 100644 project/jni/application/lmarbles-1.0.8/src/win32.ico diff --git a/project/jni/application/lmarbles-1.0.8/AUTHORS b/project/jni/application/lmarbles-1.0.8/AUTHORS new file mode 100644 index 000000000..15991edc3 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/AUTHORS @@ -0,0 +1,6 @@ +Michael Speck + +**** Contributions **** + +Fix for input bug in Win32, a better installation +system and memory leak fixes. - Lee Read diff --git a/project/jni/application/lmarbles-1.0.8/COPYING b/project/jni/application/lmarbles-1.0.8/COPYING new file mode 100644 index 000000000..c7aea1896 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/COPYING @@ -0,0 +1,280 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/project/jni/application/lmarbles-1.0.8/ChangeLog b/project/jni/application/lmarbles-1.0.8/ChangeLog new file mode 100644 index 000000000..26700d158 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/ChangeLog @@ -0,0 +1,90 @@ +1.0.8: +- added XDG desktop support (09/10/26 MS) +- fixed configuration process (09/10/26 MS) +- removed -Wall from CC arguments for better portability + (06/04/01 PM) + +1.0.7: +- configure option --with-profile-path has been replaced with + autoconf option --localstatedir (04/06/14 M.S.) +- data files will be installed to $datadir/lmarbles instead + of $datadir/games/lmarbles (04/06/14 M.S.) +- replaced strlen with sizeof when building config path (04/06/09 M.S.) +- renamed marbles.prfs to lmarbles.prfs in the Makefile (04/06/09 M.S.) +- included header for NetBSD (03/09/30 H.F.) + +1.0.6: +- renamed project to LMarbles (02/11/24 M.S.) +- fixed security holes created by improper use of sprintf + (02/11/24 M.S.) + +1.0.5: +- switched to SDL_mixer (02/08/10 L.R.) +- bunch of memory leaks fixed (02/08/10 L.R.) +- for Win32: (02/08/10 L.R.) + - edit bug fixed + - installation details added to README + - much improved installation system + - files are always opened in binary mode + - transparency bug fix + +1.0.4: +- fixed a bug in the sound server that caused Marbles to crash + when exiting too fast (01/07/02 M.S.) +- fixed a bug that caused Marbles to forget the last used profile + (01/07/02 M.S.) +- fixed a bug in autoswitch which restarted the level when + the figure was completed with the last move (01/07/02 M.S.) +- fixed a bug in restart routine that allowed selection of + a ghost marble (01/07/02 M.S.) + +1.0.3: +- score is now properly modified (02/06/24 M.S.) +- fixed a bug that caused an infinite loop when left-clicking + an empty tile directly after deselecting a marble (02/06/22 M.S.) +- added a missing include at top of timer.c + +1.0.2 +-compileable for Win32 with MinGW +-fixed more color keys +-using gettimeofday() instead of ftime() for compatibility with FreeBSD + +1.0.1: +-no crash when pressing move key when no marble is selected +-configure option 'with-profile-path' named correctly +-color key of marbles set correctly + +1.0: +-moved config file to ~/.lgames/marbles.conf +-rearranged the levelsets into one set with 32 levels +where each level has now a move limit instead of a time +limit (now you'll have time to think) +-fixed some warnings +-profile path is no longer hard-coded +-profile directory is created if not existing +-not 100% cputime consumed +-ASCII option ( big-endian ) works again +-man page properly installed + +010307: +-minor bug fixes +-added an 'experimental' levelset with a move limit instead of a time limit +(tell me what you think of this!) +-on a graphic a marble blinks +-added manual page (thanks to Uwe Hermann) +-fixed all '-Wall' warnings (thanks again) +-script 'missing' is now executable (and again :) + +001211: +-various difficulty levels (e.g. 'Training' with no time limit) +-marbles move faster; in 'training mode' they can even be 'warped' +-you can use your keyboard to move a marble +-'save as ascii' configure option (for big-endian) +-works with any bit depth (16 bits no longer hard-coded) + +001126: +-various bug fixes (most important: chapters are opened properly, profile file +included) + +001124: +-initial public release diff --git a/project/jni/application/lmarbles-1.0.8/INSTALL b/project/jni/application/lmarbles-1.0.8/INSTALL new file mode 100644 index 000000000..02a4a0740 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/INSTALL @@ -0,0 +1,167 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes a while. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Type `make install' to install the programs and any data files and + documentation. + + 4. You can remove the program binaries and object files from the + source code directory by typing `make clean'. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/project/jni/application/lmarbles-1.0.8/LMarbles.prj b/project/jni/application/lmarbles-1.0.8/LMarbles.prj new file mode 100644 index 000000000..e7370dc69 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/LMarbles.prj @@ -0,0 +1,114 @@ +# Anjuta Version 0.1.8 +Compatibility Level: 1 + + +An Atomix-like puzzle game. + + + + + + + + + + + + + + + + + +props.file.type=project + +anjuta.version=0.1.8 +anjuta.compatibility.level=1 + +project.name=LMarbles +project.type=GENERIC +project.target.type=EXECUTABLE +project.version=1.0 +project.author=Michael Speck +project.source.target=lmarbles + +project.has.gettext=0 + +project.programming.language=C + +project.menu.entry=Marbles Version 0.1 +project.menu.group=Applications +project.menu.comment=Marbles Version 0.1 +project.menu.icon=marbles_icon.(null) +project.menu.need.terminal=0 + +project.configure.options= + +anjuta.program.arguments= + +project.config.disable.overwriting=0 0 0 0 0 0 0 0 0 +project.config.extra.modules.before= +project.config.extra.modules.after= + +module.incude.name=include +module.incude.type= +module.incude.expanded=0 +module.incude.files= + +module.source.name=src +module.source.type= +module.source.expanded=0 +module.source.files=\ + dynlist.c dynlist.h sndsrv.c sndsrv.h menu.h menu.c sdl.c \ + sdl.h cfg.h cfg.c levels.h levels.c game.h game.c timer.h timer.c \ + profile.h profile.c file.h file.c \ + main.c + +module.pixmap.name=pixmaps +module.pixmap.type= +module.pixmap.expanded=0 +module.pixmap.files= + +module.data.name=data +module.data.type= +module.data.expanded=0 +module.data.files= + +module.help.name=help +module.help.type= +module.help.expanded=0 +module.help.files= + +module.doc.name=doc +module.doc.type= +module.doc.expanded=0 +module.doc.files= + +module.po.expanded=0 +module.po.files= + +compiler.options.supports= + +compiler.options.include.paths= + +compiler.options.library.paths= + +compiler.options.libraries= +compiler.options.libraries.selected= + +compiler.options.defines= + +compiler.options.warning.buttons=0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 + +compiler.options.optimize.buttons=0 1 0 0 + +compiler.options.other.buttons=1 0 + +compiler.options.other.c.flags= + +compiler.options.other.l.flags= + +compiler.options.other.l.libs= + +project.source.paths= + diff --git a/project/jni/application/lmarbles-1.0.8/Makefile.am b/project/jni/application/lmarbles-1.0.8/Makefile.am new file mode 100644 index 000000000..e62182ec4 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/Makefile.am @@ -0,0 +1,75 @@ +SUBDIRS = src + +EXTRA_DIST = lmarbles.spec AUTHORS COPYING ChangeLog INSTALL README \ +README-SDL.txt TODO LMarbles.prj lmarbles32.gif lmarbles48.gif \ +lmarbles.desktop.in + +desktopdir = $(datadir)/applications +desktop_DATA = lmarbles.desktop +icondir = $(datadir)/icons +icon_DATA = lmarbles48.gif + +AUTOMAKE_OPTIONS = foreign + +WIN32_TEXT = AUTHORS COPYING ChangeLog INSTALL README README-SDL.txt TODO marbles.spec +WIN32_LOCAL_DLL = SDL.dll SDL_mixer.dll +WIN32_SYS_DLL = msvcrt.dll + +lmarbles.desktop: + @sed -e "s+Icon=+Icon=$(datadir)/icons/lmarbles48.gif+" \ + < lmarbles.desktop.in > lmarbles.desktop + +win32text: $(WIN32_TEXT) + @echo Converting text files for win32 installer + @-rm -rf ./win32text + @mkdir ./win32text + @for textfile in $(WIN32_TEXT); do \ + $(AWK) '{printf "%s\r\n",$$0}' $$textfile > ./win32text/$$textfile ; \ + done + +win32-installer-script: @win32_inst_script@ + +@win32_inst_script@: win32text + @echo Generating win32 installer script + @echo "[Setup]" > $@ + @echo "AppName=@appname@" >> $@ + @echo "AppVerName=@appname@ $(VERSION)" >> $@ + @echo "AppPublisher=Michael Speck" >> $@ + @echo "AppPublisherURL=http://lgames.sourceforge.net/index.php?project=@appname@" >> $@ + @echo "AppSupportURL=http://lgames.sourceforge.net/index.php?project=@appname@" >> $@ + @echo "AppUpdatesURL=http://lgames.sourceforge.net/index.php?project=@appname@" >> $@ + @echo "DefaultDirName={pf}\\$(PACKAGE)" >> $@ + @echo "DefaultGroupName=@appname@" >> $@ + @echo "OutputDir=." >> $@ + @echo "Uninstallable=yes" >> $@ + @echo "AlwaysCreateUninstallIcon=yes" >> $@ + @echo "AdminPrivilegesRequired=1" >> $@ + @echo "[Tasks]" >> $@ + @echo "Name: \"desktopicon\"; Description: \"Create a &desktop icon\"; GroupDescription: \"Additional icons:\"" >> $@ + @echo "[Files]" >> $@ + @(cd win32dlls; for file in $(WIN32_LOCAL_DLL); do \ + echo "Source: \"`pwd -W`\\$$file\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> $@; \ + done) + @(cd win32dlls; for file in $(WIN32_SYS_DLL); do \ + echo "Source: \"`pwd -W`\\$$file\"; DestDir: \"{sys}\"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall" >> $@; \ + done) + @echo "Source: \"win32text\\*.*\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> $@; + @list='$(SUBDIRS)'; for subdir in $$list; do \ + (cd $$subdir \ + && $(MAKE) $(AM_MAKEFLAGS) win32-install-script); \ + done + @echo "[Icons]" >> $@ + @echo "Name: \"{group}\\@appname@\"; Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; WorkingDir: \"{app}\"" >> $@ + @echo "Name: \"{group}\\@appname@ Manual\"; Filename: \"{app}\\manual\\manual.html\"" >> $@ + @echo "Name: \"{userdesktop}\\@appname@\"; Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; WorkingDir: \"{app}\"; Tasks: \"desktopicon\"" >> $@ + @echo "[Run]" >> $@ + @echo "Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; Description: \"Launch @appname@\"; Flags: nowait postinstall skipifsilent" >> $@ + + @$(AWK) '{printf "%s\r\n",$$0}' $@ > marbles.iss.w32 + @mv marbles.iss.w32 $@ + +win32-installer: win32-installer-script + $(ISCC) installer.iss + @-rm -rf win32text + @mv setup.exe $(PACKAGE)-$(VERSION)-win32.exe + @echo Self installer created: $(PACKAGE)-$(VERSION)-win32.exe diff --git a/project/jni/application/lmarbles-1.0.8/Makefile.in b/project/jni/application/lmarbles-1.0.8/Makefile.in new file mode 100644 index 000000000..28fb44590 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/Makefile.in @@ -0,0 +1,730 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ + TODO acconfig.h config.guess config.sub depcomp install-sh \ + missing mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(icondir)" +desktopDATA_INSTALL = $(INSTALL_DATA) +iconDATA_INSTALL = $(INSTALL_DATA) +DATA = $(desktop_DATA) $(icon_DATA) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appname = @appname@ +arch_flag = @arch_flag@ +ascii_flag = @ascii_flag@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +inst_dir = @inst_dir@ +inst_flag = @inst_flag@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mixer_flag = @mixer_flag@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +prf_dir = @prf_dir@ +prf_flag = @prf_flag@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sound_flag = @sound_flag@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +win32_deps = @win32_deps@ +win32_inst_script = @win32_inst_script@ +SUBDIRS = src +EXTRA_DIST = lmarbles.spec AUTHORS COPYING ChangeLog INSTALL README \ +README-SDL.txt TODO LMarbles.prj lmarbles32.gif lmarbles48.gif \ +lmarbles.desktop.in + +desktopdir = $(datadir)/applications +desktop_DATA = lmarbles.desktop +icondir = $(datadir)/icons +icon_DATA = lmarbles48.gif +AUTOMAKE_OPTIONS = foreign +WIN32_TEXT = AUTHORS COPYING ChangeLog INSTALL README README-SDL.txt TODO marbles.spec +WIN32_LOCAL_DLL = SDL.dll SDL_mixer.dll +WIN32_SYS_DLL = msvcrt.dll +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) $(top_srcdir)/acconfig.h + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +uninstall-info-am: +install-desktopDATA: $(desktop_DATA) + @$(NORMAL_INSTALL) + test -z "$(desktopdir)" || $(mkdir_p) "$(DESTDIR)$(desktopdir)" + @list='$(desktop_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(desktopDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(desktopdir)/$$f'"; \ + $(desktopDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(desktopdir)/$$f"; \ + done + +uninstall-desktopDATA: + @$(NORMAL_UNINSTALL) + @list='$(desktop_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(desktopdir)/$$f'"; \ + rm -f "$(DESTDIR)$(desktopdir)/$$f"; \ + done +install-iconDATA: $(icon_DATA) + @$(NORMAL_INSTALL) + test -z "$(icondir)" || $(mkdir_p) "$(DESTDIR)$(icondir)" + @list='$(icon_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(iconDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(icondir)/$$f'"; \ + $(iconDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(icondir)/$$f"; \ + done + +uninstall-iconDATA: + @$(NORMAL_UNINSTALL) + @list='$(icon_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(icondir)/$$f'"; \ + rm -f "$(DESTDIR)$(icondir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(icondir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-desktopDATA install-iconDATA + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-desktopDATA uninstall-iconDATA \ + uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-recursive ctags \ + ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ + dist-tarZ dist-zip distcheck distclean distclean-generic \ + distclean-hdr distclean-recursive distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-desktopDATA install-exec \ + install-exec-am install-iconDATA install-info install-info-am \ + install-man install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-desktopDATA uninstall-iconDATA uninstall-info-am + + +lmarbles.desktop: + @sed -e "s+Icon=+Icon=$(datadir)/icons/lmarbles48.gif+" \ + < lmarbles.desktop.in > lmarbles.desktop + +win32text: $(WIN32_TEXT) + @echo Converting text files for win32 installer + @-rm -rf ./win32text + @mkdir ./win32text + @for textfile in $(WIN32_TEXT); do \ + $(AWK) '{printf "%s\r\n",$$0}' $$textfile > ./win32text/$$textfile ; \ + done + +win32-installer-script: @win32_inst_script@ + +@win32_inst_script@: win32text + @echo Generating win32 installer script + @echo "[Setup]" > $@ + @echo "AppName=@appname@" >> $@ + @echo "AppVerName=@appname@ $(VERSION)" >> $@ + @echo "AppPublisher=Michael Speck" >> $@ + @echo "AppPublisherURL=http://lgames.sourceforge.net/index.php?project=@appname@" >> $@ + @echo "AppSupportURL=http://lgames.sourceforge.net/index.php?project=@appname@" >> $@ + @echo "AppUpdatesURL=http://lgames.sourceforge.net/index.php?project=@appname@" >> $@ + @echo "DefaultDirName={pf}\\$(PACKAGE)" >> $@ + @echo "DefaultGroupName=@appname@" >> $@ + @echo "OutputDir=." >> $@ + @echo "Uninstallable=yes" >> $@ + @echo "AlwaysCreateUninstallIcon=yes" >> $@ + @echo "AdminPrivilegesRequired=1" >> $@ + @echo "[Tasks]" >> $@ + @echo "Name: \"desktopicon\"; Description: \"Create a &desktop icon\"; GroupDescription: \"Additional icons:\"" >> $@ + @echo "[Files]" >> $@ + @(cd win32dlls; for file in $(WIN32_LOCAL_DLL); do \ + echo "Source: \"`pwd -W`\\$$file\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> $@; \ + done) + @(cd win32dlls; for file in $(WIN32_SYS_DLL); do \ + echo "Source: \"`pwd -W`\\$$file\"; DestDir: \"{sys}\"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall" >> $@; \ + done) + @echo "Source: \"win32text\\*.*\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> $@; + @list='$(SUBDIRS)'; for subdir in $$list; do \ + (cd $$subdir \ + && $(MAKE) $(AM_MAKEFLAGS) win32-install-script); \ + done + @echo "[Icons]" >> $@ + @echo "Name: \"{group}\\@appname@\"; Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; WorkingDir: \"{app}\"" >> $@ + @echo "Name: \"{group}\\@appname@ Manual\"; Filename: \"{app}\\manual\\manual.html\"" >> $@ + @echo "Name: \"{userdesktop}\\@appname@\"; Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; WorkingDir: \"{app}\"; Tasks: \"desktopicon\"" >> $@ + @echo "[Run]" >> $@ + @echo "Filename: \"{app}\\$(PACKAGE)$(EXEEXT)\"; Description: \"Launch @appname@\"; Flags: nowait postinstall skipifsilent" >> $@ + + @$(AWK) '{printf "%s\r\n",$$0}' $@ > marbles.iss.w32 + @mv marbles.iss.w32 $@ + +win32-installer: win32-installer-script + $(ISCC) installer.iss + @-rm -rf win32text + @mv setup.exe $(PACKAGE)-$(VERSION)-win32.exe + @echo Self installer created: $(PACKAGE)-$(VERSION)-win32.exe +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/project/jni/application/lmarbles-1.0.8/NEWS b/project/jni/application/lmarbles-1.0.8/NEWS new file mode 100644 index 000000000..e69de29bb diff --git a/project/jni/application/lmarbles-1.0.8/README b/project/jni/application/lmarbles-1.0.8/README new file mode 100644 index 000000000..d8c49e896 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/README @@ -0,0 +1,82 @@ + + LMarbles + + an Atomix-like game + by Michael Speck + +******************** +I. Requirements +II. Installation +III. Manual +IV. Feedback +******************** + +******************** +I. Requirements +******************** +LMarbles runs in X and requires SDL and SDL_mixer. (both any version) + +******************** +II. Installation +******************** +Enter your favorite shell and type in the following stuff (in the +directory you extracted the LBreakout source) +> ./configure [--disable-sound] [--disable-install] [--enable-ascii] + [--localstatedir=HIDIR] + --disable-sound: no sound + --disable-install: no installation; play from source directory + --enable-asci: for big-endian machines + --localstatedir: install global highscores to this directory + REPLACES --with-profile-path TO COMPLY + WITH AUTOCONF; THE DEFAULT LOCATION NOW + DEPENDS ON YOUR DISTRIBUTION: PREVIOUSLY + IT WAS /var/lib/games. USE + --localstatedir=/var/lib/games + FOR EXISTING HIGHSCORES. +> make +> su (become root) +> make install (if install wasn't disabled) +> exit (become user again) +> lmarbles + +Building on Win32: + 1) Install the following win32 tools: + MinGW + MSYS + Inno Setup 2 + 2) Install the following win32 libaries: + SDL (you might need to edit sdl-config) + SDL_mixer + 3) From the build root, create win32dll directory and copy the following + win32 dlls to it: + SDL.dll + SDL_mixer.dll + msvcrt.dll (freely available from Microsoft) + 4) configure will need to find SDL.dll. You can either register SDL.dll + or simply copy it to the root build directory. + 5) Setup environment. To get things to compile, I setup the following + environment variables: + SDL_CONFIG - fully qualified path to sdl-config + CFLAGS - tell build process where to find include files + LDFLAGS - tell build process where to find libraries + PATH - ensure that Inno Setup 2 iscc is in the PATH + 6) Do a full build by issueing the following commands: + configure --disable-install + make + 7) Create a win32 installer by issueing the following command: + make win32_installer + + You'll find lmarbles--win32.exe in the build directory. It + is a standalone installer for marbles. + +******************** +III. Manual +******************** +For more information about the game see src/manual/manual.html. + +******************** +IV. Feedback +******************** +Please visit http://lgames.sf.net if you have any suggestions or +problems. + diff --git a/project/jni/application/lmarbles-1.0.8/README-SDL.txt b/project/jni/application/lmarbles-1.0.8/README-SDL.txt new file mode 100644 index 000000000..4d36ca9dc --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/README-SDL.txt @@ -0,0 +1,13 @@ + +Please distribute this file with the SDL runtime environment: + +The Simple DirectMedia Layer (SDL for short) is a cross-platfrom library +designed to make it easy to write multi-media software, such as games and +emulators. + +The Simple DirectMedia Layer library source code is available from: +http://www.libsdl.org/ + +This library is distributed under the terms of the GNU LGPL license: +http://www.gnu.org/copyleft/lesser.html + diff --git a/project/jni/application/lmarbles-1.0.8/TODO b/project/jni/application/lmarbles-1.0.8/TODO new file mode 100644 index 000000000..ae497f35b --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/TODO @@ -0,0 +1 @@ +mr.bones's suggestions diff --git a/project/jni/application/lmarbles-1.0.8/acconfig.h b/project/jni/application/lmarbles-1.0.8/acconfig.h new file mode 100644 index 000000000..caac01b14 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/acconfig.h @@ -0,0 +1,13 @@ +#undef ENABLE_NLS +#undef HAVE_CATGETS +#undef HAVE_GETTEXT +#undef HAVE_LC_MESSAGES +#undef HAVE_STPCPY +#undef HAVE_LIBSM +#undef PACKAGE_LOCALE_DIR +#undef PACKAGE_DOC_DIR +#undef PACKAGE_DATA_DIR +#undef PACKAGE_PIXMAPS_DIR +#undef PACKAGE_HELP_DIR +#undef PACKAGE_MENU_DIR +#undef PACKAGE_SOURCE_DIR diff --git a/project/jni/application/lmarbles-1.0.8/acinclude.m4 b/project/jni/application/lmarbles-1.0.8/acinclude.m4 new file mode 100644 index 000000000..ada3a4165 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/acinclude.m4 @@ -0,0 +1,175 @@ +# Configure paths for SDL +# Sam Lantinga 9/21/99 +# stolen from Manish Singh +# stolen back from Frank Belew +# stolen from Manish Singh +# Shamelessly stolen from Owen Taylor + +dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS +dnl +AC_DEFUN([AM_PATH_SDL], +[dnl +dnl Get the cflags and libraries from the sdl-config script +dnl +AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], + sdl_prefix="$withval", sdl_prefix="") +AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], + sdl_exec_prefix="$withval", sdl_exec_prefix="") +AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], + , enable_sdltest=yes) + + if test x$sdl_exec_prefix != x ; then + sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config + fi + fi + if test x$sdl_prefix != x ; then + sdl_args="$sdl_args --prefix=$sdl_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_prefix/bin/sdl-config + fi + fi + + AC_REQUIRE([AC_CANONICAL_TARGET]) + PATH="$prefix/bin:$prefix/usr/bin:$PATH" + AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH]) + min_sdl_version=ifelse([$1], ,0.11.0,$1) + AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) + no_sdl="" + if test "$SDL_CONFIG" = "no" ; then + no_sdl=yes + else + SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` + SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` + + sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_sdltest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" +dnl +dnl Now check if the installed SDL is sufficiently new. (Also sanity +dnl checks the results of sdl-config to some extent +dnl + rm -f conf.sdltest + AC_TRY_RUN([ +#include +#include +#include +#include "SDL.h" + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main (int argc, char *argv[]) +{ + int major, minor, micro; + char *tmp_version; + + /* This hangs on some systems (?) + system ("touch conf.sdltest"); + */ + { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_sdl_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_sdl_version"); + exit(1); + } + + if (($sdl_major_version > major) || + (($sdl_major_version == major) && ($sdl_minor_version > minor)) || + (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); + printf("*** to point to the correct copy of sdl-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + +],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_sdl" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$SDL_CONFIG" = "no" ; then + echo "*** The sdl-config script installed by SDL could not be found" + echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the SDL_CONFIG environment variable to the" + echo "*** full path to sdl-config." + else + if test -f conf.sdltest ; then + : + else + echo "*** Could not run SDL test program, checking why..." + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + AC_TRY_LINK([ +#include +#include "SDL.h" + +int main(int argc, char *argv[]) +{ return 0; } +#undef main +#define main K_and_R_C_main +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding SDL or finding the wrong" + echo "*** version of SDL. If it is not finding SDL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means SDL was incorrectly installed" + echo "*** or that you have moved SDL since it was installed. In the latter case, you" + echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + SDL_CFLAGS="" + SDL_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(SDL_CFLAGS) + AC_SUBST(SDL_LIBS) + rm -f conf.sdltest +]) diff --git a/project/jni/application/lmarbles-1.0.8/aclocal.m4 b/project/jni/application/lmarbles-1.0.8/aclocal.m4 new file mode 100644 index 000000000..dd92cb32b --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/aclocal.m4 @@ -0,0 +1,863 @@ +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.6])]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 7 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 12 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. +# +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([acinclude.m4]) diff --git a/project/jni/application/lmarbles-1.0.8/config.guess b/project/jni/application/lmarbles-1.0.8/config.guess new file mode 100755 index 000000000..dff9e481b --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/config.guess @@ -0,0 +1,1317 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. + +timestamp='2001-09-04' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Written by Per Bothner . +# Please send patches to . +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + + +dummy=dummy-$$ +trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int dummy(){}" > $dummy.c ; + for c in cc gcc c89 ; do + ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; + if test $? = 0 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + rm -f $dummy.c $dummy.o $dummy.rel ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # Netbsd (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # Determine the machine/vendor (is the vendor relevant). + case "${UNAME_MACHINE}" in + amiga) machine=m68k-unknown ;; + arm32) machine=arm-unknown ;; + atari*) machine=m68k-atari ;; + sun3*) machine=m68k-sun ;; + mac68k) machine=m68k-apple ;; + macppc) machine=powerpc-apple ;; + hp3[0-9][05]) machine=m68k-hp ;; + ibmrt|romp-ibm) machine=romp-ibm ;; + *) machine=${UNAME_MACHINE}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE}" in + i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit 0 ;; + alpha:OSF1:*:*) + if test $UNAME_RELEASE = "V4.0"; then + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + fi + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + cat <$dummy.s + .data +\$Lformat: + .byte 37,100,45,37,120,10,0 # "%d-%x\n" + + .text + .globl main + .align 4 + .ent main +main: + .frame \$30,16,\$26,0 + ldgp \$29,0(\$27) + .prologue 1 + .long 0x47e03d80 # implver \$0 + lda \$2,-1 + .long 0x47e20c21 # amask \$2,\$1 + lda \$16,\$Lformat + mov \$0,\$17 + not \$1,\$18 + jsr \$26,printf + ldgp \$29,0(\$26) + mov 0,\$16 + jsr \$26,exit + .end main +EOF + eval $set_cc_for_build + $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null + if test "$?" = 0 ; then + case `./$dummy` in + 0-0) + UNAME_MACHINE="alpha" + ;; + 1-0) + UNAME_MACHINE="alphaev5" + ;; + 1-1) + UNAME_MACHINE="alphaev56" + ;; + 1-101) + UNAME_MACHINE="alphapca56" + ;; + 2-303) + UNAME_MACHINE="alphaev6" + ;; + 2-307) + UNAME_MACHINE="alphaev67" + ;; + 2-1307) + UNAME_MACHINE="alphaev68" + ;; + esac + fi + rm -f $dummy.s $dummy + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit 0;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit 0 ;; + arc64:OpenBSD:*:*) + echo mips64el-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hkmips:OpenBSD:*:*) + echo mips-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mips-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + sparc*:NetBSD:*) + echo `uname -p`-unknown-netbsd${UNAME_RELEASE} + exit 0 ;; + atari*:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; + sun3*:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD $dummy.c -o $dummy \ + && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + case "${HPUX_REV}" in + 11.[0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + esac ;; + esac + fi ;; + esac + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` + if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi + rm -f $dummy.c $dummy + fi ;; + esac + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + hppa*:OpenBSD:*:*) + echo hppa-unknown-openbsd + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*X-MP:*:*:*) + echo xmp-cray-unicos + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3D:*:*:*) + echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY-2:*:*:*) + echo cray2-cray-unicos + exit 0 ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + exit 0 ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit 0 ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i386-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in + big) echo mips-unknown-linux-gnu && exit 0 ;; + little) echo mipsel-unknown-linux-gnu && exit 0 ;; + esac + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + ld_supported_targets=`cd /; ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + cat >$dummy.c < +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif +#ifdef __ELF__ +# ifdef __GLIBC__ +# if __GLIBC__ >= 2 + printf ("%s-pc-linux-gnu\n", argv[1]); +# else + printf ("%s-pc-linux-gnulibc1\n", argv[1]); +# endif +# else + printf ("%s-pc-linux-gnulibc1\n", argv[1]); +# endif +#else + printf ("%s-pc-linux-gnuaout\n", argv[1]); +#endif + return 0; +} +EOF + $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit 0 ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit 0 ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit 0 ;; + i*86:*:5:[78]*) + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit 0 ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` + (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + M68*:*:R3V[567]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit 0 ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit 0 ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit 0 ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + echo `uname -p`-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + if test "${UNAME_MACHINE}" = "x86pc"; then + UNAME_MACHINE=pc + fi + echo `uname -p`-${UNAME_MACHINE}-nto-qnx + exit 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSR-[KW]:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 +rm -f $dummy.c $dummy + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/project/jni/application/lmarbles-1.0.8/config.h.in b/project/jni/application/lmarbles-1.0.8/config.h.in new file mode 100644 index 000000000..129f38b7e --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/config.h.in @@ -0,0 +1,101 @@ +/* config.h.in. Generated from configure.in by autoheader. */ +#undef ENABLE_NLS +#undef HAVE_CATGETS +#undef HAVE_GETTEXT +#undef HAVE_LC_MESSAGES +#undef HAVE_STPCPY +#undef HAVE_LIBSM +#undef PACKAGE_LOCALE_DIR +#undef PACKAGE_DOC_DIR +#undef PACKAGE_DATA_DIR +#undef PACKAGE_PIXMAPS_DIR +#undef PACKAGE_HELP_DIR +#undef PACKAGE_MENU_DIR +#undef PACKAGE_SOURCE_DIR + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to 1 if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif + +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif + +/* Define to 1 if on MINIX. */ +#undef _MINIX + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#undef _POSIX_1_SOURCE + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#undef _POSIX_SOURCE + +/* Enable extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif diff --git a/project/jni/application/lmarbles-1.0.8/config.sub b/project/jni/application/lmarbles-1.0.8/config.sub new file mode 100755 index 000000000..393f13d37 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/config.sub @@ -0,0 +1,1411 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. + +timestamp='2001-09-07' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit 0;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | c4x | clipper \ + | d10v | d30v | dsp16xx \ + | fr30 \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | m32r | m68000 | m68k | m88k | mcore \ + | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el | mips64vr4300 \ + | mips64vr4300el | mips64vr5000 | mips64vr5000el \ + | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \ + | mipsisa32 \ + | mn10200 | mn10300 \ + | ns16k | ns32k \ + | openrisc \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | s390 | s390x \ + | sh | sh[34] | sh[34]eb | shbe | shle \ + | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ + | stormy16 | strongarm \ + | tahoe | thumb | tic80 | tron \ + | v850 \ + | we32k \ + | x86 | xscale \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alphapca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armv*-* \ + | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c54x-* \ + | clipper-* | cray2-* | cydra-* \ + | d10v-* | d30v-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | m32r-* \ + | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | mcore-* \ + | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ + | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \ + | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | s390-* | s390x-* \ + | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ + | sparcv9-* | sparcv9b-* | stormy16-* | strongarm-* | sv1-* \ + | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ + | v850-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | ymp) + basic_machine=ymp-cray + os=-unicos + ;; + cray2) + basic_machine=cray2-cray + os=-unicos + ;; + [cjt]90) + basic_machine=${basic_machine}-cray + os=-unicos + ;; + crds | unos) + basic_machine=m68k-crds + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mipsel*-linux*) + basic_machine=mipsel-unknown + os=-linux-gnu + ;; + mips*-linux*) + basic_machine=mips-unknown + os=-linux-gnu + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + mmix*) + basic_machine=mmix-knuth + os=-mmixware + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5 | k5 | k6 | nexgen) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon) + basic_machine=i686-pc + ;; + pentiumii | pentium2) + basic_machine=i686-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sparclite-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=t3e-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + windows32) + basic_machine=i386-pc + os=-windows32-msvcrt + ;; + xmp) + basic_machine=xmp-cray + os=-unicos + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + mips) + if [ x$os = x-linux-gnu ]; then + basic_machine=mips-unknown + else + basic_machine=mips-mips + fi + ;; + romp) + basic_machine=romp-ibm + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh3 | sh4 | sh3eb | sh4eb) + basic_machine=sh-unknown + ;; + sparc | sparcv9 | sparcv9b) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + c4x*) + basic_machine=c4x-none + os=-coff + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ + | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto*) + os=-nto-qnx + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-ibm) + os=-aix + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -vxsim* | -vxworks*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/project/jni/application/lmarbles-1.0.8/configure b/project/jni/application/lmarbles-1.0.8/configure new file mode 100755 index 000000000..543fb951e --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/configure @@ -0,0 +1,7373 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61. +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="Makefile.am" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +target +target_cpu +target_vendor +target_os +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +CPP +GREP +EGREP +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +RANLIB +SDL_CONFIG +SDL_CFLAGS +SDL_LIBS +sound_flag +mixer_flag +ascii_flag +inst_flag +prf_flag +inst_dir +prf_dir +win32_deps +arch_flag +win32_inst_script +appname +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --disable-sdltest Do not try to compile and run a test SDL program + --disable-sound Disables sound + --enable-ascii Enables 'save as ascii' option (for big-endian) + --disable-install No installation. Played from the source directory. + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-sdl-prefix=PFX Prefix where SDL is installed (optional) + --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional) + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking target system type" >&5 +echo $ECHO_N "checking target system type... $ECHO_C" >&6; } +if test "${ac_cv_target+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5 +echo "${ECHO_T}$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 +echo "$as_me: error: invalid value of canonical target" >&2;} + { (exit 1); exit 1; }; };; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + +cat >>confdefs.h <<\_ACEOF +#define _GNU_SOURCE 1 +_ACEOF + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +{ echo "$as_me:$LINENO: checking for AIX" >&5 +echo $ECHO_N "checking for AIX... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef _AIX + yes +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define _ALL_SOURCE 1 +_ACEOF + +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +rm -f conftest* + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +if test "${ac_cv_header_minix_config_h+set}" = set; then + { echo "$as_me:$LINENO: checking for minix/config.h" >&5 +echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; } +if test "${ac_cv_header_minix_config_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 +echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking minix/config.h usability" >&5 +echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking minix/config.h presence" >&5 +echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for minix/config.h" >&5 +echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; } +if test "${ac_cv_header_minix_config_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_minix_config_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 +echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; } + +fi +if test $ac_cv_header_minix_config_h = yes; then + MINIX=yes +else + MINIX= +fi + + +if test "$MINIX" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define _POSIX_SOURCE 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define _POSIX_1_SOURCE 2 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define _MINIX 1 +_ACEOF + +fi + + + + + + + + + + + + { echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 +echo $ECHO_N "checking whether it is safe to define __EXTENSIONS__... $ECHO_C" >&6; } +if test "${ac_cv_safe_to_define___extensions__+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +# define __EXTENSIONS__ 1 + $ac_includes_default +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_safe_to_define___extensions__=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_safe_to_define___extensions__=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 +echo "${ECHO_T}$ac_cv_safe_to_define___extensions__" >&6; } + test $ac_cv_safe_to_define___extensions__ = yes && + cat >>confdefs.h <<\_ACEOF +#define __EXTENSIONS__ 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define _POSIX_PTHREAD_SEMANTICS 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define _TANDEM_SOURCE 1 +_ACEOF + + + +ac_config_headers="$ac_config_headers config.h" + +am__api_version="1.9" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=lmarbles + VERSION=1.0.8 + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + +{ echo "$as_me:$LINENO: checking for main in -lm" >&5 +echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6; } +if test "${ac_cv_lib_m_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_m_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_m_main=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5 +echo "${ECHO_T}$ac_cv_lib_m_main" >&6; } +if test $ac_cv_lib_m_main = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +else + { { echo "$as_me:$LINENO: error: lib math is needed" >&5 +echo "$as_me: error: lib math is needed" >&2;} + { (exit 1); exit 1; }; } +fi + + + +# Check whether --with-sdl-prefix was given. +if test "${with_sdl_prefix+set}" = set; then + withval=$with_sdl_prefix; sdl_prefix="$withval" +else + sdl_prefix="" +fi + + +# Check whether --with-sdl-exec-prefix was given. +if test "${with_sdl_exec_prefix+set}" = set; then + withval=$with_sdl_exec_prefix; sdl_exec_prefix="$withval" +else + sdl_exec_prefix="" +fi + +# Check whether --enable-sdltest was given. +if test "${enable_sdltest+set}" = set; then + enableval=$enable_sdltest; +else + enable_sdltest=yes +fi + + + if test x$sdl_exec_prefix != x ; then + sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config + fi + fi + if test x$sdl_prefix != x ; then + sdl_args="$sdl_args --prefix=$sdl_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_prefix/bin/sdl-config + fi + fi + + + PATH="$prefix/bin:$prefix/usr/bin:$PATH" + # Extract the first word of "sdl-config", so it can be a program name with args. +set dummy sdl-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_SDL_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $SDL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" + ;; +esac +fi +SDL_CONFIG=$ac_cv_path_SDL_CONFIG +if test -n "$SDL_CONFIG"; then + { echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5 +echo "${ECHO_T}$SDL_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + min_sdl_version=1.0.0 + { echo "$as_me:$LINENO: checking for SDL - version >= $min_sdl_version" >&5 +echo $ECHO_N "checking for SDL - version >= $min_sdl_version... $ECHO_C" >&6; } + no_sdl="" + if test "$SDL_CONFIG" = "no" ; then + no_sdl=yes + else + SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` + SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` + + sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` + sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` + sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` + if test "x$enable_sdltest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + rm -f conf.sdltest + if test "$cross_compiling" = yes; then + echo $ac_n "cross compiling; assumed OK... $ac_c" +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#include +#include "SDL.h" + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main (int argc, char *argv[]) +{ + int major, minor, micro; + char *tmp_version; + + /* This hangs on some systems (?) + system ("touch conf.sdltest"); + */ + { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_sdl_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_sdl_version"); + exit(1); + } + + if (($sdl_major_version > major) || + (($sdl_major_version == major) && ($sdl_minor_version > minor)) || + (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); + printf("*** to point to the correct copy of sdl-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + + +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +no_sdl=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_sdl" = x ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + if test "$SDL_CONFIG" = "no" ; then + echo "*** The sdl-config script installed by SDL could not be found" + echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the SDL_CONFIG environment variable to the" + echo "*** full path to sdl-config." + else + if test -f conf.sdltest ; then + : + else + echo "*** Could not run SDL test program, checking why..." + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include "SDL.h" + +int main(int argc, char *argv[]) +{ return 0; } +#undef main +#define main K_and_R_C_main + +int +main () +{ + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding SDL or finding the wrong" + echo "*** version of SDL. If it is not finding SDL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means SDL was incorrectly installed" + echo "*** or that you have moved SDL since it was installed. In the latter case, you" + echo "*** may want to edit the sdl-config script: $SDL_CONFIG" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + SDL_CFLAGS="" + SDL_LIBS="" + { { echo "$as_me:$LINENO: error: lib SDL is needed" >&5 +echo "$as_me: error: lib SDL is needed" >&2;} + { (exit 1); exit 1; }; } + fi + + + rm -f conf.sdltest + +CFLAGS="$CFLAGS $SDL_CFLAGS" +LIBS="$LIBS $SDL_LIBS" + +# Check whether --with-sdl-prefix was given. +if test "${with_sdl_prefix+set}" = set; then + withval=$with_sdl_prefix; sdl_prefix="$withval" +else + sdl_prefix="" +fi + + +# Check whether --with-sdl-exec-prefix was given. +if test "${with_sdl_exec_prefix+set}" = set; then + withval=$with_sdl_exec_prefix; sdl_exec_prefix="$withval" +else + sdl_exec_prefix="" +fi + +# Check whether --enable-sdltest was given. +if test "${enable_sdltest+set}" = set; then + enableval=$enable_sdltest; +else + enable_sdltest=yes +fi + + + if test x$sdl_exec_prefix != x ; then + sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config + fi + fi + if test x$sdl_prefix != x ; then + sdl_args="$sdl_args --prefix=$sdl_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_prefix/bin/sdl-config + fi + fi + + + PATH="$prefix/bin:$prefix/usr/bin:$PATH" + # Extract the first word of "sdl-config", so it can be a program name with args. +set dummy sdl-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_SDL_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $SDL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" + ;; +esac +fi +SDL_CONFIG=$ac_cv_path_SDL_CONFIG +if test -n "$SDL_CONFIG"; then + { echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5 +echo "${ECHO_T}$SDL_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + min_sdl_version=1.1.5 + { echo "$as_me:$LINENO: checking for SDL - version >= $min_sdl_version" >&5 +echo $ECHO_N "checking for SDL - version >= $min_sdl_version... $ECHO_C" >&6; } + no_sdl="" + if test "$SDL_CONFIG" = "no" ; then + no_sdl=yes + else + SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` + SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` + + sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` + sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` + sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` + if test "x$enable_sdltest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + rm -f conf.sdltest + if test "$cross_compiling" = yes; then + echo $ac_n "cross compiling; assumed OK... $ac_c" +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include +#include +#include "SDL.h" + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main (int argc, char *argv[]) +{ + int major, minor, micro; + char *tmp_version; + + /* This hangs on some systems (?) + system ("touch conf.sdltest"); + */ + { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_sdl_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_sdl_version"); + exit(1); + } + + if (($sdl_major_version > major) || + (($sdl_major_version == major) && ($sdl_minor_version > minor)) || + (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); + printf("*** to point to the correct copy of sdl-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + + +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +no_sdl=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_sdl" = x ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + CFLAGS="$CFLAGS -DSDL_1_1_5" + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + if test "$SDL_CONFIG" = "no" ; then + echo "*** The sdl-config script installed by SDL could not be found" + echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the SDL_CONFIG environment variable to the" + echo "*** full path to sdl-config." + else + if test -f conf.sdltest ; then + : + else + echo "*** Could not run SDL test program, checking why..." + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include "SDL.h" + +int main(int argc, char *argv[]) +{ return 0; } +#undef main +#define main K_and_R_C_main + +int +main () +{ + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding SDL or finding the wrong" + echo "*** version of SDL. If it is not finding SDL, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means SDL was incorrectly installed" + echo "*** or that you have moved SDL since it was installed. In the latter case, you" + echo "*** may want to edit the sdl-config script: $SDL_CONFIG" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + SDL_CFLAGS="" + SDL_LIBS="" + : + fi + + + rm -f conf.sdltest + + +sound_flag="-DSOUND" +mixer_flag="-lSDL_mixer" +# Check whether --enable-sound was given. +if test "${enable_sound+set}" = set; then + enableval=$enable_sound; sound_flag=""; mixer_flag="" +fi + + +{ echo "$as_me:$LINENO: checking for main in -lSDL_mixer" >&5 +echo $ECHO_N "checking for main in -lSDL_mixer... $ECHO_C" >&6; } +if test "${ac_cv_lib_SDL_mixer_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lSDL_mixer $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_SDL_mixer_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_SDL_mixer_main=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_SDL_mixer_main" >&5 +echo "${ECHO_T}$ac_cv_lib_SDL_mixer_main" >&6; } +if test $ac_cv_lib_SDL_mixer_main = yes; then + { echo "$as_me:$LINENO: result: \"SDL_Mixer found\"" >&5 +echo "${ECHO_T}\"SDL_Mixer found\"" >&6; } +else + { echo "$as_me:$LINENO: result: \"SDL_Mixer NOT found: Audio disabled\"" >&5 +echo "${ECHO_T}\"SDL_Mixer NOT found: Audio disabled\"" >&6; }; sound_flag=""; mixer_flag="" +fi + + + + + +ascii_flag="" +# Check whether --enable-ascii was given. +if test "${enable_ascii+set}" = set; then + enableval=$enable_ascii; ascii_flag="-DASCII" +fi + + + +inst_dir="$datadir/lmarbles" +prf_dir=$localstatedir + +# Check whether --enable-install was given. +if test "${enable_install+set}" = set; then + enableval=$enable_install; inst_dir="." prf_dir="." +fi + + +inst_flag="-DSRC_DIR=\\\"$inst_dir\\\"" +prf_flag="-DPRF_DIR=\\\"$prf_dir\\\"" + + + + + + +case "$host" in + *-mingw32) + win32="yes" + win32_inst_script="`pwd -W`/installer.iss" + arch_flag="-march=i586" + win32_deps="lmarblesres.o" ;; + *) + win32="no" + win32_inst_script="" + arch_flag="" + win32_deps="" ;; +esac + + + + +if test "x$win32" = xyes; then + for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + + +fi + +appname="LMarbles" + + +ac_config_files="$ac_config_files Makefile src/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +target!$target$ac_delim +target_cpu!$target_cpu$ac_delim +target_vendor!$target_vendor$ac_delim +target_os!$target_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +CPP!$CPP$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +RANLIB!$RANLIB$ac_delim +SDL_CONFIG!$SDL_CONFIG$ac_delim +SDL_CFLAGS!$SDL_CFLAGS$ac_delim +SDL_LIBS!$SDL_LIBS$ac_delim +sound_flag!$sound_flag$ac_delim +mixer_flag!$mixer_flag$ac_delim +ascii_flag!$ascii_flag$ac_delim +inst_flag!$inst_flag$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +prf_flag!$prf_flag$ac_delim +inst_dir!$inst_dir$ac_delim +prf_dir!$prf_dir$ac_delim +win32_deps!$win32_deps$ac_delim +arch_flag!$arch_flag$ac_delim +win32_inst_script!$win32_inst_script$ac_delim +appname!$appname$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 9; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/project/jni/application/lmarbles-1.0.8/configure.in b/project/jni/application/lmarbles-1.0.8/configure.in new file mode 100644 index 000000000..ba070d5a9 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/configure.in @@ -0,0 +1,89 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(Makefile.am) + +AC_CANONICAL_TARGET +AC_USE_SYSTEM_EXTENSIONS + +AM_CONFIG_HEADER(config.h) +AM_INIT_AUTOMAKE(lmarbles,1.0.8) + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_RANLIB +AC_EXEEXT +AC_CANONICAL_HOST + +dnl check for libraries +AC_CHECK_LIB(m, main,, AC_MSG_ERROR(lib math is needed)) + +dnl check SDL version +AM_PATH_SDL(1.0.0,, AC_MSG_ERROR(lib SDL is needed)) +CFLAGS="$CFLAGS $SDL_CFLAGS" +LIBS="$LIBS $SDL_LIBS" +AM_PATH_SDL(1.1.5, CFLAGS="$CFLAGS -DSDL_1_1_5",) + +dnl check sound +sound_flag="-DSOUND" +mixer_flag="-lSDL_mixer" +AC_ARG_ENABLE( sound, +[ --disable-sound Disables sound], sound_flag=""; mixer_flag="") + +dnl check if SDL_mixer's installed +dnl if not: clear sound_flag and mixer_flag +AC_CHECK_LIB(SDL_mixer, main, +AC_MSG_RESULT("SDL_Mixer found"), +AC_MSG_RESULT("SDL_Mixer NOT found: Audio disabled"); sound_flag=""; mixer_flag="") + +AC_SUBST(sound_flag) +AC_SUBST(mixer_flag) + +dnl check ascii-flag +ascii_flag="" +AC_ARG_ENABLE( ascii, +[ --enable-ascii Enables 'save as ascii' option (for big-endian)], ascii_flag="-DASCII") +AC_SUBST(ascii_flag) + +dnl installation & prefix path +inst_dir="$datadir/lmarbles" +prf_dir=$localstatedir + +dnl check if installation was disabled +AC_ARG_ENABLE( install, +[ --disable-install No installation. Played from the source directory.], +inst_dir="." prf_dir=".") + +inst_flag="-DSRC_DIR=\\\"$inst_dir\\\"" +prf_flag="-DPRF_DIR=\\\"$prf_dir\\\"" + +AC_SUBST(inst_flag) +AC_SUBST(prf_flag) +AC_SUBST(inst_dir) +AC_SUBST(prf_dir) + +case "$host" in + *-mingw32) + win32="yes" + win32_inst_script="`pwd -W`/installer.iss" + arch_flag="-march=i586" + win32_deps="lmarblesres.o" ;; + *) + win32="no" + win32_inst_script="" + arch_flag="" + win32_deps="" ;; +esac + +AC_SUBST(win32_deps) +AC_SUBST(arch_flag) + +if test "x$win32" = xyes; then + AC_PROG_AWK +dnl AC_PROG_STRIP +dnl AC_PROG_ISCC + AC_SUBST(win32_inst_script) +fi + +appname="LMarbles" +AC_SUBST(appname) + +AC_OUTPUT(Makefile src/Makefile) diff --git a/project/jni/application/lmarbles-1.0.8/depcomp b/project/jni/application/lmarbles-1.0.8/depcomp new file mode 100755 index 000000000..11e2d3bfe --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/depcomp @@ -0,0 +1,522 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-05-31.23 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # With libtool 1.5 they are output both in $dir.libs/$base.o.d + # and in $dir.libs/$base.o.d and $dir$base.o.d. We process the + # latter, because the former will be cleaned when $dir.libs is + # erased. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/project/jni/application/lmarbles-1.0.8/install-sh b/project/jni/application/lmarbles-1.0.8/install-sh new file mode 100755 index 000000000..e8436696c --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/install-sh @@ -0,0 +1,250 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + true +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + else + instcmd=mkdir + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f $src -o -d $src ] + then + true + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + true + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + true + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' +' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + true + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + true + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/project/jni/application/lmarbles-1.0.8/lmarbles.desktop.in b/project/jni/application/lmarbles-1.0.8/lmarbles.desktop.in new file mode 100644 index 000000000..be1f1523e --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/lmarbles.desktop.in @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=LMarbles +Comment=Atomix-like enhanced puzzle game. +Exec=lmarbles +Icon= +Type=Application +Categories=Game; diff --git a/project/jni/application/lmarbles-1.0.8/lmarbles.spec b/project/jni/application/lmarbles-1.0.8/lmarbles.spec new file mode 100644 index 000000000..ab324209b --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/lmarbles.spec @@ -0,0 +1,72 @@ +Name: lmarbles +Version: 1.0.6 +Release: 1cl +Summary: Atomix-like game of moving marbles in puzzles +Summary(pt_BR): Jogo tipo Atomix, de mover bolas de gude em labirintos +Summary(es): Atomix-like game of moving marbles in puzzles +Group: Games +Group(pt_BR): Jogos +Group(es): Juegos +License: GPL +URL: http://lgames.sourceforge.net/%{name}/%{name}.html +Source: http://ftp1.sourceforge.net/lgames/%{name}-%{version}.tar.gz +Patch: %{name}-prefsdir.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Marbles is very similiar to Atomix and was heavily inspired by it. +Goal is to create a more or less complex figure out of single marbles +within a time limit to reach the next level. + +Sounds easy? Well, there is a problem: If a marble starts to move it +will not stop until it hits a wall or marble. And to make it even more +interesting there are obstacles like arrows, crumbling walls and +teleports! + +%description -l pt_BR +O Marbles é muito parecido com o jogo Atomix, pois foi inspirado nele. +O objetivo é criar uma figura de bolas de gude mais ou menos complexa +dentro de um limite de tempo. + +Parece fácil? Bem, há um problema: quando uma bolinha de gude começa a +se mover, só pára quando bate em uma parede ou outra bolinha. E para +ficar mais interessante, há alguns obstáculos como caminhos de mão +única, paredes que desmoronam e teletransporte! + +%description -l es +Marbles is very similiar to Atomix and was heavily inspired by it. +Goal is to create a more or less complex figure out of single marbles +within a time limit to reach the next level. + +Sounds easy? Well, there is a problem: If a marble starts to move it +will not stop until it hits a wall or marble. And to make it even more +interesting there are obstacles like arrows, crumbling walls and +teleports! + +%prep +%setup -q +%patch + +%build +%configure --datadir=%{_datadir} +make + +%install +mkdir -p %{buildroot}/%{_localstatedir}/games +%makeinstall DESTDIR=%{buildroot} bindir=%{_prefix}/games + +%clean +rm -rf %{buildroot} + +%files +%defattr(0644,root,root,0755) +%doc AUTHORS COPYING README ChangeLog %{name}/manual +%attr(2755,root,games) %{_prefix}/games/%{name} +%{_datadir}/games/%{name} +%attr(0664,root,games) %config %{_localstatedir}/games/%{name}.prfs + +%changelog +* Thu Nov 30 2000 aurélio marinho jargas ++ marbles-001126-1cl +- changed prefs dir +- adopted diff --git a/project/jni/application/lmarbles-1.0.8/lmarbles32.gif b/project/jni/application/lmarbles-1.0.8/lmarbles32.gif new file mode 100644 index 0000000000000000000000000000000000000000..73d381bfc7462be89ff4a7701e8a72c31a1c46e0 GIT binary patch literal 770 zcmZ?wbhEHbRA5kGIL5%h$jHvXzyzWhSquyeczKINL^cTtJ>%gy!^6|T!{e-|_|neq zr?&PFDXEXVy!Ux{Ch_nnGcvLX3vV$o`H`LdJ16J2p5AwU{--=V^Lcn&7#W#_gq~Yk z{;aJ0laTORPVOTQ&mA6~6+AqC3=9msyqBb;zG!HC6BGNw%lm?t_c{+xD-Vw=56@&? z-UqzAk9l~m^6;$Y;fdtoQQ_e+<>Be%;n~c?vy_KtA`edt505bqj|2~o9uJQr504EG zj}|YlGz$w0BO@a-GqbI&ZF+ioQ&UqyLV~@$y}X>9g@whGDO0v=*|K=?;;B=o=H}+w z+uMnXiezSHZr;54)TvXKE?ru^dUau8p}f3od3pKOt5;8)I5BzhWH(n=6=lVYjEqT> zCe5Eezpt;ava&KRF3!%@R!Kp|&dx4BKR-J=+s(~QTT4SiOo)k*QBGFY%F@E!-QCR8 zL_CRP|u*lz`(!&iW3I*e+~6b z%`L5M?H!%<42(?7T@zYaSlQS)IJsCRPGsfg;pO8O5S-m5BrGB-CN3cPUwzTMqT%Q@%^>s96V53b zO%hE)u3i^bhOCa-%cYdcHB~EYox?$;CyTYh)~z_Zs#N>Bo?_&TjGKpCy~OoZ(rz7E z%6)Tv!r?Ai;ZLkS5{AhqrWiUuT49iMY=Um~H=SEs6w|vFcsjeCl`_lSX4R~A_U_i4 zgxk9~i$1gU&9W$Zc0uqbJMdzRurQ$he&E`3!>>S6&<4_LJpc Gum%7_O%aU% literal 0 HcmV?d00001 diff --git a/project/jni/application/lmarbles-1.0.8/lmarbles48.gif b/project/jni/application/lmarbles-1.0.8/lmarbles48.gif new file mode 100644 index 0000000000000000000000000000000000000000..edee6ce4593948c4b097b32ebc9ab5b8bdc1476f GIT binary patch literal 746 zcmZ?wbhEHbG+;1bSjxb_4FWtoJiB>#Zt?J>^YI;*koYDm`&~rjtE=lzOUs{peD8R8 zmhkWx1O)tyiTTCD)1{&Dqqz9bvSt5xc$9c}Ji@}lii?ZQ%}kS$lBP_V5)crerKz!S z;ldp|b~H9Ny1BW@NK2kMb7s?~O;4Xby?*_=l!V~r%a@fEWW_}Vg@lCuQw9`&vM_Qn z*fZ!bFfcHH{KUZa@4);54;`ug6HAIt=2*?YkRj~A>apI{!NEX6fGKQ^NPvNiKrEx8 zPT3@W&Z7@ENEk@H`6kp5U?IoP#l|d`o>D(KXwqhzc+<@yy-3b^kh178cQSyeCes zV-VrJ5OS$H^knFy$lD7abVSF--wP2F7n8UV`6Mo(IyF7B&6z<`>X*2rv`l5nnFW#y zj@{nNRPf}&#=~3d)0)kE#`Wld@V%1u^k1T70#Y2?irw#F)TJtM=!hlkpC z##t`#a6Gzx&4G&@4^FvG2zNdtX(U}bQ$$Vt)b6TU7J;0IjcL~tiViR=+UhN$Xw|Ia zdnV#l^yyi)-8>Af-h47nEdh)M+czi6zYpAeY_d>;$f37Z>(y@b?#O(b7t4NCcear3 z{IiwIP4W{Ceq5Y*%Qz;Ud6b4FE*4O}zjB literal 0 HcmV?d00001 diff --git a/project/jni/application/lmarbles-1.0.8/missing b/project/jni/application/lmarbles-1.0.8/missing new file mode 100755 index 000000000..cbe2b0ef0 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/missing @@ -0,0 +1,188 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. +# Copyright (C) 1996, 1997 Free Software Foundation, Inc. +# Franc,ois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + yacc create \`y.tab.[ch]', if possible, from existing .[ch]" + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing - GNU libit 0.0" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acinclude.m4' or \`configure.in'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`configure.in'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acconfig.h' or \`configure.in'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in` + if test -z "$files"; then + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in` + test -z "$files" || files="$files.in" + else + files=`echo "$files" | sed -e 's/:/ /g'` + fi + test -z "$files" && files="config.h.in" + touch $files + ;; + + automake) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print \ + | sed 's/^\(.*\).am$/touch \1.in/' \ + | sh + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + makeinfo) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequirements for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 diff --git a/project/jni/application/lmarbles-1.0.8/mkinstalldirs b/project/jni/application/lmarbles-1.0.8/mkinstalldirs new file mode 100755 index 000000000..4ebd8668f --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/mkinstalldirs @@ -0,0 +1,40 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman +# Created: 1993-05-16 +# Public domain + +# $Id: mkinstalldirs,v 1.1.1.1 2000/08/05 10:36:33 michael Exp $ + +errstatus=0 + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" 1>&2 + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# mkinstalldirs ends here diff --git a/project/jni/application/lmarbles-1.0.8/src/Makefile.am b/project/jni/application/lmarbles-1.0.8/src/Makefile.am new file mode 100644 index 000000000..9d72d7261 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/Makefile.am @@ -0,0 +1,113 @@ +DEFS = @DEFS@ @arch_flag@ @inst_flag@ @prf_flag@ @sound_flag@ @ascii_flag@ + +marblesres.o: win32.ico + @echo "1 VERSIONINFO" > $(PACKAGE).rc + @echo "FILEVERSION `echo $(VERSION) | $(AWK) '{ gsub(/\./,","); print }'`,0" >> $(PACKAGE).rc + @echo "PRODUCTVERSION `echo $(VERSION) | $(AWK) '{ gsub(/\./,","); print }'`,0" >> $(PACKAGE).rc + @echo "FILEFLAGSMASK 0" >> $(PACKAGE).rc + @echo "FILEOS 0x40000" >> $(PACKAGE).rc + @echo "FILETYPE 1" >> $(PACKAGE).rc + @echo "{" >> $(PACKAGE).rc + @echo " BLOCK \"StringFileInfo\"" >> $(PACKAGE).rc + @echo " {" >> $(PACKAGE).rc + @echo " BLOCK \"040904E4\"" >> $(PACKAGE).rc + @echo " {" >> $(PACKAGE).rc + @echo " VALUE \"CompanyName\", \"LGames - Michael Speck\"" >> $(PACKAGE).rc + @echo " VALUE \"FileDescription\", \"@appname@\"" >> $(PACKAGE).rc + @echo " VALUE \"FileVersion\", \"$(VERSION)\"" >> $(PACKAGE).rc + @echo " VALUE \"InternalName\", \"$(PACKAGE)\"" >> $(PACKAGE).rc + @echo " VALUE \"LegalCopyright\", \"GNU Public License\"" >> $(PACKAGE).rc + @echo " VALUE \"OriginalFilename\", \"$(PACKAGE)$(EXEEXT)\"" >> $(PACKAGE).rc + @echo " VALUE \"ProductName\", \"@appname@\"" >> $(PACKAGE).rc + @echo " VALUE \"ProductVersion\", \"$(VERSION)\"" >> $(PACKAGE).rc + @echo " }" >> $(PACKAGE).rc + @echo " }" >> $(PACKAGE).rc + @echo "}" >> $(PACKAGE).rc + @echo "0 ICON win32.ico" >> $(PACKAGE).rc + @windres -o $@ -i $(PACKAGE).rc + +bin_PROGRAMS = lmarbles + +lmarbles_SOURCES = audio.c cfg.c dynlist.c file.c game.c levels.c main.c menu.c \ +profile.c sdl.c timer.c audio.h cfg.h dynlist.h file.h game.h levels.h \ +menu.h profile.h sdl.h timer.h win32.ico lmarbles.6 + +lmarbles_DEPENDENCIES = @win32_deps@ +lmarbles_LDADD = @win32_deps@ @mixer_flag@ +man_MANS = lmarbles.6 + +DATA_FILES = \ +gfx/board.bmp gfx/f_red.bmp gfx/f_small.bmp gfx/f_white.bmp \ +gfx/f_yellow.bmp gfx/figure.bmp gfx/lights.bmp gfx/logo.bmp \ +gfx/m_frame.bmp gfx/m_sframe.bmp gfx/marbles.bmp gfx/tiny.sdlfnt \ +gfx/title.bmp gfx/win_icon.bmp \ +\ +sounds/alarm.wav sounds/arrow.wav sounds/click.wav sounds/explode.wav \ +sounds/select.wav sounds/stop.wav sounds/teleport.wav sounds/score.wav \ +\ +levels/Original \ +\ +gfx/stone/arrow_d.bmp gfx/stone/arrow_l.bmp gfx/stone/arrow_r.bmp \ +gfx/stone/arrow_u.bmp gfx/stone/background.bmp gfx/stone/barrier_lr.bmp \ +gfx/stone/barrier_ud.bmp gfx/stone/floor.bmp gfx/stone/teleport0.bmp \ +gfx/stone/teleport1.bmp gfx/stone/teleport2.bmp \ +gfx/stone/teleport3.bmp gfx/stone/wall.bmp \ +gfx/stone/wall_crumble.bmp \ +\ +gfx/metal/arrow_d.bmp gfx/metal/arrow_l.bmp gfx/metal/arrow_r.bmp \ +gfx/metal/arrow_u.bmp gfx/metal/background.bmp gfx/metal/barrier_lr.bmp \ +gfx/metal/barrier_ud.bmp gfx/metal/floor.bmp gfx/metal/teleport0.bmp \ +gfx/metal/teleport1.bmp gfx/metal/teleport2.bmp \ +gfx/metal/teleport3.bmp gfx/metal/wall.bmp \ +gfx/metal/wall_crumble.bmp \ +\ +gfx/wood/arrow_d.bmp gfx/wood/arrow_l.bmp gfx/wood/arrow_r.bmp \ +gfx/wood/arrow_u.bmp gfx/wood/background.bmp gfx/wood/barrier_lr.bmp \ +gfx/wood/barrier_ud.bmp gfx/wood/floor.bmp gfx/wood/teleport0.bmp \ +gfx/wood/teleport1.bmp gfx/wood/teleport2.bmp \ +gfx/wood/teleport3.bmp gfx/wood/wall.bmp \ +gfx/wood/wall_crumble.bmp + +DOC_FILES = manual/manual.html manual/arrow.jpg manual/arrow2.jpg \ +manual/crumble.jpg manual/teleport.jpg manual/marbles.jpg + +EXTRA_DIST= empty.prfs $(DATA_FILES) $(DOC_FILES) + +install-data-local: +#directories + $(mkinstalldirs) $(DESTDIR)$(inst_dir) + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/gfx + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/gfx/stone + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/gfx/metal + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/gfx/wood + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/sounds + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/levels +#data files + for file in $(DATA_FILES); do\ + $(INSTALL_DATA) $$file $(DESTDIR)$(inst_dir)/$$file;\ + done +#profiles + $(mkinstalldirs) $(DESTDIR)$(prf_dir) + if ! test -f $(DESTDIR)$(prf_dir)/lmarbles.prfs; then \ + $(INSTALL_DATA) -m 666 empty.prfs $(DESTDIR)$(prf_dir)/lmarbles.prfs; \ + fi; + +uninstall-local: + rm -rf $(DESTDIR)$(inst_dir) + rm -f $(DESTDIR)$(prf_dir)/lmarbles.prfs + +win32rootdir=`pwd -W | awk '{ gsub("/","\\\\"); print}'` + +win32-install-script: + @$(STRIP) $(PACKAGE)$(EXEEXT) + @echo "Source: \"$(win32rootdir)\\$(PACKAGE)$(EXEEXT)\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> @win32_inst_script@ + @for file in $(DATA_FILES) $(DOC_FILES); do \ + win32src=$(win32rootdir)\\`echo $$file | awk '{ gsub("/","\\\\"); print }'`; \ + win32dest=`dirname $$file | awk '{ gsub("/","\\\\"); print }'`; \ + echo "Source: \"$$win32src\"; DestDir: \"{app}\\$$win32dest\"; CopyMode: alwaysoverwrite" >> @win32_inst_script@; \ + done + + @list='$(SUBDIRS)'; for subdir in $$list; do \ + (cd $$subdir \ + && $(MAKE) $(AM_MAKEFLAGS) win32-install-script); \ + done diff --git a/project/jni/application/lmarbles-1.0.8/src/Makefile.in b/project/jni/application/lmarbles-1.0.8/src/Makefile.in new file mode 100644 index 000000000..a2a4a6526 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/Makefile.in @@ -0,0 +1,596 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +bin_PROGRAMS = lmarbles$(EXEEXT) +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man6dir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_lmarbles_OBJECTS = audio.$(OBJEXT) cfg.$(OBJEXT) dynlist.$(OBJEXT) \ + file.$(OBJEXT) game.$(OBJEXT) levels.$(OBJEXT) main.$(OBJEXT) \ + menu.$(OBJEXT) profile.$(OBJEXT) sdl.$(OBJEXT) timer.$(OBJEXT) +lmarbles_OBJECTS = $(am_lmarbles_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(lmarbles_SOURCES) +DIST_SOURCES = $(lmarbles_SOURCES) +man6dir = $(mandir)/man6 +NROFF = nroff +MANS = $(man_MANS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ @arch_flag@ @inst_flag@ @prf_flag@ @sound_flag@ @ascii_flag@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SDL_CFLAGS = @SDL_CFLAGS@ +SDL_CONFIG = @SDL_CONFIG@ +SDL_LIBS = @SDL_LIBS@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appname = @appname@ +arch_flag = @arch_flag@ +ascii_flag = @ascii_flag@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +inst_dir = @inst_dir@ +inst_flag = @inst_flag@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mixer_flag = @mixer_flag@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +prf_dir = @prf_dir@ +prf_flag = @prf_flag@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sound_flag = @sound_flag@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +win32_deps = @win32_deps@ +win32_inst_script = @win32_inst_script@ +lmarbles_SOURCES = audio.c cfg.c dynlist.c file.c game.c levels.c main.c menu.c \ +profile.c sdl.c timer.c audio.h cfg.h dynlist.h file.h game.h levels.h \ +menu.h profile.h sdl.h timer.h win32.ico lmarbles.6 + +lmarbles_DEPENDENCIES = @win32_deps@ +lmarbles_LDADD = @win32_deps@ @mixer_flag@ +man_MANS = lmarbles.6 +DATA_FILES = \ +gfx/board.bmp gfx/f_red.bmp gfx/f_small.bmp gfx/f_white.bmp \ +gfx/f_yellow.bmp gfx/figure.bmp gfx/lights.bmp gfx/logo.bmp \ +gfx/m_frame.bmp gfx/m_sframe.bmp gfx/marbles.bmp gfx/tiny.sdlfnt \ +gfx/title.bmp gfx/win_icon.bmp \ +\ +sounds/alarm.wav sounds/arrow.wav sounds/click.wav sounds/explode.wav \ +sounds/select.wav sounds/stop.wav sounds/teleport.wav sounds/score.wav \ +\ +levels/Original \ +\ +gfx/stone/arrow_d.bmp gfx/stone/arrow_l.bmp gfx/stone/arrow_r.bmp \ +gfx/stone/arrow_u.bmp gfx/stone/background.bmp gfx/stone/barrier_lr.bmp \ +gfx/stone/barrier_ud.bmp gfx/stone/floor.bmp gfx/stone/teleport0.bmp \ +gfx/stone/teleport1.bmp gfx/stone/teleport2.bmp \ +gfx/stone/teleport3.bmp gfx/stone/wall.bmp \ +gfx/stone/wall_crumble.bmp \ +\ +gfx/metal/arrow_d.bmp gfx/metal/arrow_l.bmp gfx/metal/arrow_r.bmp \ +gfx/metal/arrow_u.bmp gfx/metal/background.bmp gfx/metal/barrier_lr.bmp \ +gfx/metal/barrier_ud.bmp gfx/metal/floor.bmp gfx/metal/teleport0.bmp \ +gfx/metal/teleport1.bmp gfx/metal/teleport2.bmp \ +gfx/metal/teleport3.bmp gfx/metal/wall.bmp \ +gfx/metal/wall_crumble.bmp \ +\ +gfx/wood/arrow_d.bmp gfx/wood/arrow_l.bmp gfx/wood/arrow_r.bmp \ +gfx/wood/arrow_u.bmp gfx/wood/background.bmp gfx/wood/barrier_lr.bmp \ +gfx/wood/barrier_ud.bmp gfx/wood/floor.bmp gfx/wood/teleport0.bmp \ +gfx/wood/teleport1.bmp gfx/wood/teleport2.bmp \ +gfx/wood/teleport3.bmp gfx/wood/wall.bmp \ +gfx/wood/wall_crumble.bmp + +DOC_FILES = manual/manual.html manual/arrow.jpg manual/arrow2.jpg \ +manual/crumble.jpg manual/teleport.jpg manual/marbles.jpg + +EXTRA_DIST = empty.prfs $(DATA_FILES) $(DOC_FILES) +win32rootdir = `pwd -W | awk '{ gsub("/","\\\\"); print}'` +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +lmarbles$(EXEEXT): $(lmarbles_OBJECTS) $(lmarbles_DEPENDENCIES) + @rm -f lmarbles$(EXEEXT) + $(LINK) $(lmarbles_LDFLAGS) $(lmarbles_OBJECTS) $(lmarbles_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audio.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/game.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/levels.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/profile.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sdl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: +install-man6: $(man6_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man6dir)" || $(mkdir_p) "$(DESTDIR)$(man6dir)" + @list='$(man6_MANS) $(dist_man6_MANS) $(nodist_man6_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.6*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 6*) ;; \ + *) ext='6' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man6dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man6dir)/$$inst"; \ + done +uninstall-man6: + @$(NORMAL_UNINSTALL) + @list='$(man6_MANS) $(dist_man6_MANS) $(nodist_man6_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.6*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 6*) ;; \ + *) ext='6' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man6dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man6dir)/$$inst"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/gfx $(distdir)/gfx/metal $(distdir)/gfx/stone $(distdir)/gfx/wood $(distdir)/levels $(distdir)/manual $(distdir)/sounds + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(MANS) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man6dir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-data-local install-man + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: install-man6 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-local \ + uninstall-man + +uninstall-man: uninstall-man6 + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-data-local install-exec \ + install-exec-am install-info install-info-am install-man \ + install-man6 install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am uninstall-local uninstall-man uninstall-man6 + + +marblesres.o: win32.ico + @echo "1 VERSIONINFO" > $(PACKAGE).rc + @echo "FILEVERSION `echo $(VERSION) | $(AWK) '{ gsub(/\./,","); print }'`,0" >> $(PACKAGE).rc + @echo "PRODUCTVERSION `echo $(VERSION) | $(AWK) '{ gsub(/\./,","); print }'`,0" >> $(PACKAGE).rc + @echo "FILEFLAGSMASK 0" >> $(PACKAGE).rc + @echo "FILEOS 0x40000" >> $(PACKAGE).rc + @echo "FILETYPE 1" >> $(PACKAGE).rc + @echo "{" >> $(PACKAGE).rc + @echo " BLOCK \"StringFileInfo\"" >> $(PACKAGE).rc + @echo " {" >> $(PACKAGE).rc + @echo " BLOCK \"040904E4\"" >> $(PACKAGE).rc + @echo " {" >> $(PACKAGE).rc + @echo " VALUE \"CompanyName\", \"LGames - Michael Speck\"" >> $(PACKAGE).rc + @echo " VALUE \"FileDescription\", \"@appname@\"" >> $(PACKAGE).rc + @echo " VALUE \"FileVersion\", \"$(VERSION)\"" >> $(PACKAGE).rc + @echo " VALUE \"InternalName\", \"$(PACKAGE)\"" >> $(PACKAGE).rc + @echo " VALUE \"LegalCopyright\", \"GNU Public License\"" >> $(PACKAGE).rc + @echo " VALUE \"OriginalFilename\", \"$(PACKAGE)$(EXEEXT)\"" >> $(PACKAGE).rc + @echo " VALUE \"ProductName\", \"@appname@\"" >> $(PACKAGE).rc + @echo " VALUE \"ProductVersion\", \"$(VERSION)\"" >> $(PACKAGE).rc + @echo " }" >> $(PACKAGE).rc + @echo " }" >> $(PACKAGE).rc + @echo "}" >> $(PACKAGE).rc + @echo "0 ICON win32.ico" >> $(PACKAGE).rc + @windres -o $@ -i $(PACKAGE).rc + +install-data-local: +#directories + $(mkinstalldirs) $(DESTDIR)$(inst_dir) + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/gfx + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/gfx/stone + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/gfx/metal + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/gfx/wood + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/sounds + $(mkinstalldirs) $(DESTDIR)$(inst_dir)/levels +#data files + for file in $(DATA_FILES); do\ + $(INSTALL_DATA) $$file $(DESTDIR)$(inst_dir)/$$file;\ + done +#profiles + $(mkinstalldirs) $(DESTDIR)$(prf_dir) + if ! test -f $(DESTDIR)$(prf_dir)/lmarbles.prfs; then \ + $(INSTALL_DATA) -m 666 empty.prfs $(DESTDIR)$(prf_dir)/lmarbles.prfs; \ + fi; + +uninstall-local: + rm -rf $(DESTDIR)$(inst_dir) + rm -f $(DESTDIR)$(prf_dir)/lmarbles.prfs + +win32-install-script: + @$(STRIP) $(PACKAGE)$(EXEEXT) + @echo "Source: \"$(win32rootdir)\\$(PACKAGE)$(EXEEXT)\"; DestDir: \"{app}\"; CopyMode: alwaysoverwrite" >> @win32_inst_script@ + @for file in $(DATA_FILES) $(DOC_FILES); do \ + win32src=$(win32rootdir)\\`echo $$file | awk '{ gsub("/","\\\\"); print }'`; \ + win32dest=`dirname $$file | awk '{ gsub("/","\\\\"); print }'`; \ + echo "Source: \"$$win32src\"; DestDir: \"{app}\\$$win32dest\"; CopyMode: alwaysoverwrite" >> @win32_inst_script@; \ + done + + @list='$(SUBDIRS)'; for subdir in $$list; do \ + (cd $$subdir \ + && $(MAKE) $(AM_MAKEFLAGS) win32-install-script); \ + done +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/project/jni/application/lmarbles-1.0.8/src/audio.c b/project/jni/application/lmarbles-1.0.8/src/audio.c new file mode 100644 index 000000000..4f91c34c7 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/audio.c @@ -0,0 +1,151 @@ +/*************************************************************************** + sound.c - description + ------------------- + begin : Sun Jul 29 2001 + copyright : (C) 2001 by Michael Speck + email : kulkanie@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifdef SOUND + +#include +#include "audio.h" + +/* +==================================================================== +If audio device was properly initiated this flag is set. +If this flag is not set; no action will be taken for audio. +==================================================================== +*/ +int audio_ok = 0; +/* +==================================================================== +If this flag is not set no sound is played. +==================================================================== +*/ +int sound_enabled = 1; + +/* +==================================================================== +Initiate/close audio +==================================================================== +*/ +int audio_open() +{ + if ( Mix_OpenAudio( MIX_DEFAULT_FREQUENCY, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 256 ) < 0 ) { + fprintf( stderr, "audio_open: can't open audio device: %s\n", SDL_GetError() ); + audio_ok = 0; + return 0; + } + audio_ok = 1; + return 1; +} +void audio_close() +{ + if ( !audio_ok ) return; + Mix_CloseAudio(); +} + +/* +==================================================================== +Sound chunk +==================================================================== +*/ +Sound_Chunk* sound_chunk_load( char *file_name ) +{ + char path[512]; + Mix_Chunk *chunk = 0; + + if ( !audio_ok ) { + fprintf( stderr, + "sound_chunk_load: cannot load WAV '%s' as audio device isn't initated properly\n", + file_name ); + return 0; + } + + /* use SRCDIR/sounds as source directory */ + sprintf( path, "%s/sounds/%s", SRC_DIR, file_name ); + + chunk = Mix_LoadWAV( path ); + if ( chunk == 0 ) + { + fprintf( stderr, "chunk_load: couldn't load WAV '%s': %s\n", path, SDL_GetError() ); + } + return (Sound_Chunk*)chunk; +} +void sound_chunk_free( Sound_Chunk **chunk ) +{ + if ( !audio_ok ) return; + Mix_FreeChunk( (Mix_Chunk*)(*chunk) ); + *chunk = 0; +} + +/* +==================================================================== +Sound stuff +==================================================================== +*/ + +/* +==================================================================== +Enable/disable sound +==================================================================== +*/ +void sound_enable( int enable ) +{ + if ( !audio_ok ) return; + sound_enabled = enable; + if ( !enable ) + Mix_Pause( -1 ); /* stop all sound channels */ +} +/* +==================================================================== +Set general volume of sounds. 0 - 127 +==================================================================== +*/ +void sound_volume( int level ) +{ + if ( !audio_ok ) return; + if ( level < 0 ) level = 0; + if ( level > 127 ) level = 127; + Mix_Volume( -1, level ); /* all sound channels */ +} +/* +==================================================================== +Play a chunk. +==================================================================== +*/ +void sound_play( Sound_Chunk *chunk ) +{ + if ( !audio_ok ) return; + if ( !sound_enabled ) return; + /* use first free sound channel and play sound one time */ + Mix_PlayChannel( -1, (Mix_Chunk*)chunk, 0 ); +} + +/* +==================================================================== +Music stuff +==================================================================== +*/ + +/* +==================================================================== +Set general volume of sounds. 0 - 127 +==================================================================== +*/ +void music_volume( int level ) +{ + /* not implemented */ +} + +#endif diff --git a/project/jni/application/lmarbles-1.0.8/src/audio.h b/project/jni/application/lmarbles-1.0.8/src/audio.h new file mode 100644 index 000000000..f46cdf1ef --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/audio.h @@ -0,0 +1,64 @@ +/*************************************************************************** + sound.h - description + ------------------- + begin : Sun Jul 29 2001 + copyright : (C) 2001 by Michael Speck + email : kulkanie@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef __AUDIO_H +#define __AUDIO_H + +#ifdef SOUND + +/* +==================================================================== +Wrapper for the SDL_mixer functions. +==================================================================== +*/ + +/* +==================================================================== +Initiate/close audio +==================================================================== +*/ +int audio_open(); +void audio_close(); + +/* +==================================================================== +Sound chunk +==================================================================== +*/ +typedef Mix_Chunk Sound_Chunk; +Sound_Chunk* sound_chunk_load( char *file_name ); +void sound_chunk_free( Sound_Chunk **chunk ); + +/* +==================================================================== +Sound stuff +==================================================================== +*/ +void sound_enable( int enable ); +void sound_volume( int level /*0 - 127*/ ); +void sound_play( Sound_Chunk *chunk ); + +/* +==================================================================== +Music stuff +==================================================================== +*/ +void music_volume( int level ); + +#endif + +#endif diff --git a/project/jni/application/lmarbles-1.0.8/src/cfg.c b/project/jni/application/lmarbles-1.0.8/src/cfg.c new file mode 100644 index 000000000..2831c1b61 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/cfg.c @@ -0,0 +1,190 @@ +/*************************************************************************** + cfg.c - description + ------------------- + begin : Sat Aug 5 2000 + copyright : (C) 2000 by Michael Speck + email : kulkanie@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include "cfg.h" +#include "sdl.h" +#include +#include +#include +#include "file.h" +#include +#include +#include + +#ifdef _WIN32 + #define MKDIR(d, p) mkdir(d) +#else + #define MKDIR mkdir +#endif + +char c_pth[512]; +Cfg cfg; + +/* + get the full path of the cfg file +*/ +void C_StPth() +{ + DIR *dir; +#ifdef _WIN32 + snprintf( c_pth, sizeof(c_pth)-1, "%s/lgames", (getenv( "HOME" )?getenv( "HOME" ):".") ); +#else + snprintf( c_pth, sizeof(c_pth)-1, "%s/.lgames", getenv( "HOME" ) ); +#endif + /* create .lgames directory if not found */ + if ( (dir = opendir( c_pth )) == 0 ) { + fprintf( stderr, "Config directory ~/.lgames not found. Creating it.\n" ); + MKDIR( c_pth, S_IRWXU ); + } + else + { + closedir(dir); + } + /* get full path of config file */ + strcat( c_pth, "/lmarbles.conf" ); +} + +/* + load it +*/ +void C_Ld() +{ + char str[256]; + FILE *f; + struct stat dir_stat; + + printf("loading configuration...\n"); + + // load init // + if ((f = fopen(c_pth, "r")) == 0) { + printf("cfg file '%s' not found; using defaults\n", c_pth); + C_Def(); + } + else { + stat( c_pth, &dir_stat ); + if ( dir_stat.st_size != sizeof( Cfg ) ) { + fprintf( stderr, "config file '%s' corrupted... using defaults\n", c_pth ); + C_Def(); + } + else + + { +#ifdef ASCII + + F_GetE(f, str, F_VAL); + if (strncmp(str,"ascii",5)) { + + printf("cfg file '%s' not in ascii; using defaults\n", c_pth); + C_Def(); + + } + else { + + F_GetE(f, cfg.prf_nm, F_VAL); cfg.prf_nm[strlen(cfg.prf_nm) - 1] = 0; + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.prf); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.s_vol); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.s_on); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.ani); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.trp); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.fscr); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.dim); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.diff); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.k_up); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.k_down); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.k_left); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.k_right); + F_GetE(f, str, F_VAL); F_ValToInt(str, &cfg.k_undo); + + } +#else + + fread(str, 5, 1, f); + if (!strncmp(str,"ascii",5)) { + + printf("cfg file '%s' in ascii but raw binary data expected; using defaults\n", c_pth); + C_Def(); + + } + else { + + fseek(f,SEEK_SET,0); + fread(&cfg, sizeof(Cfg), 1, f); + + } + +#endif + } + + fclose(f); + } +} + +/* + save it +*/ +void C_Sv() +{ + //save init // + FILE *f = fopen(c_pth, "w"); +#ifdef ASCII + char str[256]; + + F_WrtE(f, "ascii"); + F_WrtE(f, cfg.prf_nm); + F_IntToStr(str, cfg.prf); F_WrtE(f, str); + F_IntToStr(str, cfg.s_vol); F_WrtE(f, str); + F_IntToStr(str, cfg.s_on); F_WrtE(f, str); + F_IntToStr(str, cfg.ani); F_WrtE(f, str); + F_IntToStr(str, cfg.trp); F_WrtE(f, str); + F_IntToStr(str, cfg.fscr); F_WrtE(f, str); + F_IntToStr(str, cfg.dim); F_WrtE(f, str); + F_IntToStr(str, cfg.diff); F_WrtE(f, str); + F_IntToStr(str, cfg.k_up); F_WrtE(f, str); + F_IntToStr(str, cfg.k_down); F_WrtE(f, str); + F_IntToStr(str, cfg.k_left); F_WrtE(f, str); + F_IntToStr(str, cfg.k_right); F_WrtE(f, str); + F_IntToStr(str, cfg.k_undo); F_WrtE(f, str); +#else + fwrite(&cfg, sizeof(Cfg), 1, f); +#endif + + fclose(f); +} + +/* + default values +*/ +void C_Def() +{ + strcpy(cfg.prf_nm, "Michael"); + cfg.prf = 0; + // sound // + cfg.s_vol = 6; + cfg.s_on = 1; + // gfx // + cfg.ani = 1; + cfg.trp = 1; + cfg.fscr = 0; + cfg.dim = 1; + cfg.diff = DIFF_NORMAL; + // controls + cfg.k_up = SDLK_UP; + cfg.k_down = SDLK_DOWN; + cfg.k_left = SDLK_LEFT; + cfg.k_right = SDLK_RIGHT; + cfg.k_undo = SDLK_SPACE; +} diff --git a/project/jni/application/lmarbles-1.0.8/src/cfg.h b/project/jni/application/lmarbles-1.0.8/src/cfg.h new file mode 100644 index 000000000..216c46dbf --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/cfg.h @@ -0,0 +1,56 @@ +/*************************************************************************** + cfg.h - description + ------------------- + begin : Sat Aug 5 2000 + copyright : (C) 2000 by Michael Speck + email : kulkanie@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef CFG_H +#define CFG_H + +enum { + DIFF_EASY = 0, + DIFF_NORMAL, + DIFF_HARD, + DIFF_BRAINSTORM +}; + +// config file // +typedef struct { + // profile + char prf_nm[12]; + int prf; + // level set // + int ls; + // sound + int s_on; + int s_vol; + // gfx // + int ani; + int trp; + int fscr; // fullscreen + int dim; // dim effect on? + int diff; // difficulty + int k_up; // controls + int k_down; + int k_left; + int k_right; + int k_undo; +} Cfg; + +void C_StPth(); +void C_Ld(); +void C_Sv(); +void C_Def(); + +#endif diff --git a/project/jni/application/lmarbles-1.0.8/src/dynlist.c b/project/jni/application/lmarbles-1.0.8/src/dynlist.c new file mode 100644 index 000000000..f1fb85d77 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/dynlist.c @@ -0,0 +1,271 @@ +/*************************************************************************** + dynlist.c - description + ------------------- + begin : Sat Apr 8 2000 + copyright : (C) 2000 by + email : + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include "dynlist.h" +#include +#include +#include + +/* + initialize list +*/ +void DL_Ini(DLst *dlst) +{ + dlst->cntr = 0; + dlst->hd.p = dlst->tl.n = 0; + dlst->hd.n = &dlst->tl; + dlst->tl.p = &dlst->hd; + dlst->hd.d = dlst->tl.d = 0; + dlst->flgs = DL_NONE; + dlst->cb = 0; +} + +/* + insert an item at index +*/ +int DL_Ins(DLst *dlst, unsigned int index, void *item) +{ + int i; + DL_E *cur = &dlst->hd; + DL_E *new_entry; + + if (index > dlst->cntr) { + fprintf(stderr, "ERR: dl_insert: index %i out of range...\n", index); + return 1; + } + if (item == 0) { + fprintf(stderr, "ERR: dl_insert: item is NULL...\n"); + return 1; + } + + for (i = 0; i < index; i++) + cur = cur->n; + new_entry = (DL_E*)malloc(sizeof(DL_E)); + new_entry->d = item; + new_entry->n = cur->n; + new_entry->p = cur; + cur->n->p = new_entry; + cur->n = new_entry; + dlst->cntr++; + + return 0; +} + +/* + insert at the end of the list +*/ +int DL_Add(DLst *dlst, void *item) +{ + return DL_Ins(dlst, dlst->cntr, item); +} + +/* + delete an entry +*/ +int DL_DelE(DLst *dlst, DL_E *e) +{ + if (e == 0) { + fprintf(stderr, "ERR: dl_delete: entry is NULL...\n"); + return 1; + } + if (dlst->cntr == 0) { + fprintf(stderr, "ERR: dl_delete: list is empty...\n"); + return 1; + } + if (e == &dlst->hd || e == &dlst->tl) { + fprintf(stderr, "ERR: dl_delete: trying to delete hd or tl..\n"); + return 1; + } + + e->p->n = e->n; + e->n->p = e->p; + dlst->cntr--; + + if (dlst->flgs & DL_AUTODEL) { + if (dlst->flgs & DL_NOCB) + free(e->d); + else { + if (dlst->cb == 0) { + fprintf(stderr, "ERR: dl_delete: no destroy callback installed...\n"); + free(e); + return 1; + } + (dlst->cb)(e->d); + } + } + free(e); + + return 0; +} + +/* + delete entry containing this item +*/ +int DL_DelP(DLst *dlst, void *item) +{ + int i; + DL_E *cur = &dlst->hd; + + if (item == 0) { + fprintf(stderr, "ERR: dl_delete: item is NULL...\n"); + return 1; + } + if (dlst->cntr == 0) { + fprintf(stderr, "ERR: dl_delete: list is empty...\n"); + return 1; + } + + for (i = 0; i <= dlst->cntr; i++) + if (cur->n != &dlst->tl) { + cur = cur->n; + if (cur->d == item) + break; + } + else { + fprintf(stderr, "ERR: dl_delete: list does not contain item 0x%x...\n", (int)item); + return 1; + } + + cur->n->p = cur->p; + cur->p->n = cur->n; + dlst->cntr--; + cur->n = cur->p = 0; + + if (dlst->flgs & DL_AUTODEL) { + if (dlst->flgs & DL_NOCB) + free(cur->d); + else { + if (dlst->cb == 0) { + fprintf(stderr, "ERR: dl_delete: no destroy callback installed...\n"); + free(cur); + return 1; + } + (dlst->cb)(cur->d); + } + } + free(cur); + + return 0; +} + +/* + delete item at index +*/ +int DL_Del(DLst *dlst, unsigned int index) +{ + int i; + DL_E *cur = &dlst->hd; + + if (index >= dlst->cntr) { + fprintf(stderr, "ERR: dl_delete: index %i out of range...\n", index); + return 1; + } + if (dlst->cntr == 0) { + fprintf(stderr, "ERR: dl_delete: list is empty...\n"); + return 1; + } + + for (i = 0; i <= index; i++) + cur = cur->n; + + cur->n->p = cur->p; + cur->p->n = cur->n; + dlst->cntr--; + cur->n = cur->p = 0; + + if (dlst->flgs & DL_AUTODEL) { + if (dlst->flgs & DL_NOCB) + free(cur->d); + else { + if (dlst->cb == 0) { + fprintf(stderr, "ERR: dl_delete: no destroy callback installed...\n"); + free(cur); + return 1; + } + (dlst->cb)(cur->d); + } + } + free(cur); + + return 0; +} + +/* + get the item with index 'index' +*/ +void* DL_Get(DLst *dlst, int index) +{ + unsigned int i; + DL_E *cur = &dlst->hd; + + if (index >= dlst->cntr) { + fprintf(stderr, "ERR: dl_get: index %i out of range...\n", index); + return 0; + } + + for (i = 0; i <= (unsigned)index; i++) + cur = cur->n; + + return cur->d; +} + +/* + get the current entry from a pointer +*/ +DL_E *DL_GetE(DLst *dlst, void *item) +{ + int i; + DL_E *cur = &dlst->hd; + + if (item == 0) { + fprintf(stderr, "ERR: DL_GetE: item is NULL...\n"); + return 0; + } + if (dlst->cntr == 0) { + fprintf(stderr, "ERR: DL_GetE: list is empty...\n"); + return 0; + } + + for (i = 0; i <= dlst->cntr; i++) + if (cur->n != &dlst->tl) { + cur = cur->n; + if (cur->d == item) + break; + } + else { + fprintf(stderr, "ERR: DL_GetE: list does not contain item 0x%x...\n", (int)item); + return 0; + } + + return cur; +} + +/* + clear all entries of list +*/ +void DL_Clr(DLst *dlst) +{ + DL_E *cur = dlst->hd.n; + DL_E *n; + + while (cur != &dlst->tl) { + n = cur->n; + DL_DelE(dlst, cur); + cur = n; + } + +} diff --git a/project/jni/application/lmarbles-1.0.8/src/dynlist.h b/project/jni/application/lmarbles-1.0.8/src/dynlist.h new file mode 100644 index 000000000..98d0c0322 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/dynlist.h @@ -0,0 +1,58 @@ +/*************************************************************************** + dynlist.h - description + ------------------- + begin : Sat Apr 8 2000 + copyright : (C) 2000 by + email : + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef DYNLIST_H +#define DYNLIST_H + +#ifdef __cplusplus +extern "C" { +#endif + +//dl flags +#define DL_NONE (0) +#define DL_AUTODEL (1L<<0) +#define DL_NOCB (1L<<1) + +typedef struct _DL_E { + struct _DL_E *n; + struct _DL_E *p; + void *d; +} DL_E; + +typedef struct { + unsigned int flgs; + unsigned int cntr; //don't edit + DL_E hd; //don't edit + DL_E tl; //don't edit + void (*cb)(void*); +} DLst; + +void DL_Ini(DLst *dlst); +int DL_Ins(DLst *dlst, unsigned int i, void *item); //insert item +int DL_Add(DLst *dlst, void *item); //insert at the end +int DL_DelE(DLst *dlst, DL_E *e); +int DL_DelP(DLst *dlst, void *item); +int DL_Del(DLst *dlst, unsigned int i); +void* DL_Get(DLst *dlst, int i); +DL_E *DL_GetE(DLst *dlst, void *item); +void DL_Clr(DLst *dlst); //clear full list + +#ifdef __cplusplus +}; +#endif + +#endif diff --git a/project/jni/application/lmarbles-1.0.8/src/empty.prfs b/project/jni/application/lmarbles-1.0.8/src/empty.prfs new file mode 100644 index 0000000000000000000000000000000000000000..e70262918ebd07949ca18e67a9eadd52bccf7204 GIT binary patch literal 32 UcmZQ%U|{ggOwLG5&0)X>07Ga3wEzGB literal 0 HcmV?d00001 diff --git a/project/jni/application/lmarbles-1.0.8/src/file.c b/project/jni/application/lmarbles-1.0.8/src/file.c new file mode 100644 index 000000000..a7219de7c --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/file.c @@ -0,0 +1,168 @@ +/*************************************************************************** + file.c - description + ------------------- + begin : Tue Sep 26 2000 + copyright : (C) 2000 by Michael Speck + email : kulkanie@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include "file.h" +#include +#include + +int f_ln = 0; + +/* + read an entry and return if the correct flag is set else read next entry +*/ +void F_GetE(FILE *f, char *str, int flgs) +{ + int i = 0; + char c; + str[0] = 0; + while (!feof(f)) { + fread(&c, 1/*sizeof(char)*/, 1, f); /* MUST BE exactly on byte */ + if (c == 10) { + f_ln++; // increase line counter // + continue; // ignore returns // + } + str[i++] = c; str[i] = 0; + if ( (c == ';' && flgs & F_VAL) || (c == '>' && flgs & F_SUB) || (c == ')' && flgs & F_COM) ) + break; + if (c == ';' || c == '>' || c == ')') + i = 0; + } + if (i == 1) + str[0] = 0; +} + +/* + returns the first character bigger than 32 +*/ +char F_FstC(char *str, char **n) +{ + int i = 0; + while (str[i] <= 32) { + i++; + if (i >= strlen(str)) return 0; + } + *n = str + i; + return str[i]; +} + +/* + returns the last character bigger than 32 +*/ +char F_LstC(char *str) +{ + int i = strlen(str) - 1; + while (str[i] <= 32) { + i--; + if (i <= 0) return 0; + } + return str[i]; +} + +/* + read value to v +*/ +int F_GetV(char *str, char *v) +{ + int i; + char *n; + for (i = 0; i < strlen(str); i++) + if (str[i] == '=') { + F_FstC(str + i + 1, &n); + strcpy(v, n); + v[strlen(v) - 1] = 0; // mask semicolon + return 1; + } + return 0; +} + +/* + check entry for type and target name and assign p the value +*/ +int F_CkE(char *str, int t, char *nm, char *v) +{ + char *n; + + if (strlen(str) == 0) return 0; + + if (t & F_VAL) { + F_FstC(str, &n); + if (strncmp(nm, n, strlen(nm))) + return 0; + if (v != 0 ) + return F_GetV(str, v); + else + return 0; + } + else + if (t & F_SUB) { + F_FstC(str, &n); + if (!strncmp(nm, n, strlen(nm))) + return 1; + } + else + if (t & F_COM && F_FstC(str, 0) == '(' && F_LstC(str) == ')') + return 1; + return 0; +} + +/* + write an entry with a semicolon at its end +*/ +void F_WrtE(FILE *f, char *str) +{ + char f_str[strlen(str) + 2]; + + sprintf(f_str, "%s;", str); + fwrite(f_str, strlen(f_str), 1, f); +} + +/* + convert an integer to string +*/ +void F_IntToStr(char *str, int i) +{ + sprintf(str,"%i", i); +} + +/* + convert an float to string +*/ +void F_FloatToStr(char *str, float f) +{ + sprintf(str,"%2.2f",f); +} + +/* convert a value only containing one integer */ +void F_ValToInt(char *str, int *i) +{ + str[strlen(str) - 1] = 0; + *i = atoi(str); +} + +/* convert a value only containing one float */ +void F_ValToFloat(char *str, float *f) +{ + str[strlen(str) - 1] = 0; + *f = (float)strtod(str, 0); +} + +/* convert a value only containing one character */ +void F_ValToChar(char *str, char *c) +{ + str[strlen(str) - 1] = 0; + *c = (char)atoi(str); +} diff --git a/project/jni/application/lmarbles-1.0.8/src/file.h b/project/jni/application/lmarbles-1.0.8/src/file.h new file mode 100644 index 000000000..c08cced79 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/file.h @@ -0,0 +1,37 @@ +/*************************************************************************** + file.h - description + ------------------- + begin : Tue Sep 26 2000 + copyright : (C) 2000 by Michael Speck + email : kulkanie@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef FILE_H +#define FILE_H + +#include + +#define F_SUB 0x0001 +#define F_COM 0x0002 +#define F_VAL 0x0004 + +void F_GetE(FILE *f, char *str, int flgs); +int F_CkE(char *str, int t, char *nm, char *v); + +void F_WrtE(FILE *f, char *str); +void F_IntToStr(char *str, int i); +void F_FloatToStr(char *str, float f); +void F_ValToInt(char *str, int *i); +void F_ValToFloat(char *str, float *f); +void F_ValToChar(char *str, char *c); + +#endif diff --git a/project/jni/application/lmarbles-1.0.8/src/game.c b/project/jni/application/lmarbles-1.0.8/src/game.c new file mode 100644 index 000000000..a3dcf0c1f --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/game.c @@ -0,0 +1,2839 @@ +/*************************************************************************** + game.c - description + ------------------- + begin : Mon Aug 14 2000 + copyright : (C) 2000 by Michael Speck + email : kulkanie@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include "game.h" +#include +#include +#include +#include "file.h" +#include "cfg.h" +#include "menu.h" +#include "timer.h" + +Game gm; +/* levelset names & levelsets -- levels.h */ +extern char **ls_lst; +extern int ls_n; +extern DLst l_sts; +/* line counter -- file.c */ +extern int f_ln; +/* config -- cfg.c */ +extern Cfg cfg; +/* Sdl -- sdl.c */ +extern Sdl sdl; +/* profiles -- profile.c */ +extern DLst prfs; +/* terminate game -- sdl.c */ +extern int trm_gm; + +void modify_score( int *b_lvl, int *b_tm ); + +/* + initialize game +*/ +void G_Ini() +{ + FILE *f; + int i; + char str[256]; + int ok = 0; + // cursors // + char data[32], mask[32]; + char csr[6][256] = { + { + 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 2, 1, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 2, 1, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 1, 2, 1, 1, 2, 1, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 1, 2, 1, 1, 2, 1, 2, 0, 0, 0, 0, + 0, 0, 0, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 0, 0, 0, + 0, 0, 0, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 0, 0, 0, + 0, 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 0, 0, + 0, 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 0, 0, + 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 0, + 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 0, + 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + }, + { + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, + 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 0, + 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 0, + 0, 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 0, 0, + 0, 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 0, 0, + 0, 0, 0, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 0, 0, 0, + 0, 0, 0, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 0, 0, 0, + 0, 0, 0, 0, 2, 1, 2, 1, 1, 2, 1, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 1, 2, 1, 1, 2, 1, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 2, 1, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 1, 2, 2, 1, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, + }, + { + 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 1, 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 1, 2, 2, 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, + 2, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, + 2, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 0, + 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 0, + 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, + 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, + 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 0, + 2, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 0, + 2, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, + 2, 1, 2, 2, 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, + 2, 1, 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }, + { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 1, 2, + 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 2, 2, 1, 2, + 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 2, 1, 1, 2, 1, 2, + 0, 0, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 2, + 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, + 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, + 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, + 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, + 0, 0, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 2, + 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 2, 1, 1, 2, 1, 2, + 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 2, 2, 1, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 1, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, + }, + { + 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, + 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 2, + 2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2, + 2, 1, 1, 1, 1, 1, 2, 0, 0, 2, 1, 1, 1, 1, 1, 2, + 2, 1, 1, 1, 1, 1, 2, 0, 0, 2, 1, 1, 1, 1, 2, 0, + 0, 2, 1, 1, 1, 1, 2, 0, 0, 2, 1, 1, 1, 2, 0, 0, + 0, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 0, + 0, 0, 2, 1, 1, 1, 2, 0, 0, 2, 1, 1, 1, 2, 0, 0, + 0, 2, 1, 1, 1, 1, 2, 0, 0, 2, 1, 1, 1, 1, 2, 0, + 2, 1, 1, 1, 1, 1, 2, 0, 0, 2, 1, 1, 1, 1, 1, 2, + 2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2, + 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 2, + 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, + }, + { + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, + 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, + 0, 2, 1, 1, 2, 2, 2, 0, 0, 2, 2, 1, 1, 1, 2, 0, + 0, 0, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 0, 0, + 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, + 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, + 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, + 0, 0, 2, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 2, 0, 0, + 0, 2, 1, 2, 0, 2, 1, 1, 1, 1, 2, 0, 2, 1, 2, 0, + 0, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 0, + 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + } + }; + + // initialize dyn list l_sts + DL_Ini(&l_sts); + l_sts.flgs = DL_AUTODEL; + l_sts.cb = L_DelSt; + // load level sets + printf("loading levelsets...\n"); + for (i = 0; i < ls_n; i++) { + printf("%s... ", ls_lst[i]); + sprintf(str, "%s/levels/%s", SRC_DIR, ls_lst[i]); + f = fopen(str, "r"); + if (f != 0) { + f_ln = 1; + if (L_LdSt(f)) { + ok = 1; + strcpy(((LSet*)l_sts.tl.p->d)->nm, ls_lst[i]); + } + else + L_AddInvSt(ls_lst[i]); + fclose(f); + } + else { + L_AddInvSt(ls_lst[i]); + printf("WARNING: levelset not found...\n"); + } + } + + // found something ? // + if (!ok) { + printf("ERROR: no valid level set found; need at least one level set...\n"); + exit(1); + } + + /* clear gm struct */ + //memset( &gm, 0, sizeof( gm ) ); + + // initialize gfx set + DL_Ini(&gm.g_sts); + gm.g_sts.flgs = DL_AUTODEL; + gm.g_sts.cb = G_DelGSt; + // load gfx sets + G_LdGSts(); + + // load board + gm.s_brd = SS_Ld("gfx/board.bmp", SDL_SWSURFACE); + SDL_SetColorKey(gm.s_brd, 0, 0); + // load lights + gm.s_lghts = SS_Ld("gfx/lights.bmp", SDL_SWSURFACE); + // load marbles + gm.s_mrb = SS_Ld("gfx/marbles.bmp", SDL_SWSURFACE); + // load figure + gm.s_fig = SS_Ld("gfx/figure.bmp", SDL_SWSURFACE); + // load marble frame + gm.s_mf = SS_Ld("gfx/m_frame.bmp", SDL_SWSURFACE); + // load marble select frame + gm.s_msf = SS_Ld("gfx/m_sframe.bmp", SDL_SWSURFACE); + // background // + gm.s_bkgd = 0; + + // load fonts + gm.f_sml = SF_LdFxd("gfx/f_small.bmp", 32, 96, 8); + gm.f_wht = SF_LdFxd("gfx/f_white.bmp", 32, 96, 10); + gm.f_rd = SF_LdFxd("gfx/f_red.bmp", 32, 96, 10); + + // level + gm.c_lvl = 0; + + // marble + gm.m_v = 0.15; + gm.m_a.p = 0; + gm.m_a.f = 4; + gm.m_a.c = 0.016 + 0.008; + gm.m_a.w = gm.m_a.h = 32; + gm.m_act = M_EMPTY; + gm.m_o_x = gm.m_o_y = -1; + gm.m_warp = 0; + + // marble select frame + gm.msf_a.f = 4; + gm.msf_a.w = gm.msf_a.h = 40; + gm.msf_a.c = 0.02; + gm.msf_a.p = 0; + + // marble frame + gm.mf_a.f = 4; + gm.mf_a.w = gm.mf_a.h = 40; + gm.mf_a.c = 0.02; + gm.mf_a.p = 0; + + // layout + gm.b_x = 640 - 200; + gm.f_x = 35; + gm.f_y = 145; + gm.i_x = 20; + gm.i_y = 25; + gm.t_x = 40; + gm.t_y = 105; + gm.s_x = 15; + gm.s_y = 290; + + // geometry + gm.t_w = gm.t_h = 32; + gm.f_w = gm.f_h = 12; + gm.f_fw = gm.f_fh = 130; + gm.scr_w = 640; + gm.scr_h = 480; + gm.brd_w = 200; + gm.s_w = 170; + gm.s_h = 175; + gm.c_off = 12; + + // cursors + memset(data, 0, sizeof(data)); + gm.c_u = gm.c_d = gm.c_l = gm.c_r = gm.c_s = gm.c_w = 0; + gm.c_n = SDL_GetCursor(); + Cr_Ld(csr[0], data, mask); + gm.c_u = SDL_CreateCursor(data, mask, 16, 16, 8, 8); + Cr_Ld(csr[1], data, mask); + gm.c_d = SDL_CreateCursor(data, mask, 16, 16, 8, 8); + Cr_Ld(csr[2], data, mask); + gm.c_r = SDL_CreateCursor(data, mask, 16, 16, 8, 8); + Cr_Ld(csr[3], data, mask); + gm.c_l = SDL_CreateCursor(data, mask, 16, 16, 8, 8); + Cr_Ld(csr[4], data, mask); + gm.c_s = SDL_CreateCursor(data, mask, 16, 16, 8, 8); + Cr_Ld(csr[5], data, mask); + gm.c_w = SDL_CreateCursor(data, mask, 16, 16, 8, 8); + + // map animations + gm.m_ani = 0; + + // oneway animation info + gm.ma_ow_a.f = 4; + gm.ma_ow_a.c = 0.008; + gm.ma_ow_a.p = 0; + gm.ma_ow_a.w = gm.t_w; + gm.ma_ow_a.h = gm.t_h; + + // teleport information + gm.ma_tlp_a.f = 4; + gm.ma_tlp_a.c = 0.008; + gm.ma_tlp_a.p = 0; + gm.ma_tlp_a.w = gm.t_w; + gm.ma_tlp_a.h = gm.t_h; + gm.tlp_a = 32; + + // sounds +#ifdef SOUND + gm.wv_tlp = sound_chunk_load("teleport.wav"); + gm.wv_sel = sound_chunk_load("select.wav"); + gm.wv_stp = sound_chunk_load("stop.wav"); + gm.wv_clk = sound_chunk_load("click.wav"); + gm.wv_exp = sound_chunk_load("explode.wav"); + gm.wv_alm = sound_chunk_load("alarm.wav"); + gm.wv_arw = sound_chunk_load("arrow.wav"); + gm.wv_scr = sound_chunk_load("score.wav"); +#endif + + // shrapnells + DL_Ini(&gm.shr); + gm.shr.flgs = DL_AUTODEL; + gm.shr.cb = Shr_Del; + gm.shr_a_c = 0.1; + + // credits + gm.cr_a_c = 0.1; + gm.cr_tm = 3000; + gm.cr_y = 10; + + // shnapshot + gm.snap = 0; +} + +/* + terminate game +*/ +void G_Trm() +{ + // release gfx + if (gm.s_brd) SDL_FreeSurface(gm.s_brd); + if (gm.s_lghts) SDL_FreeSurface(gm.s_lghts); + if (gm.s_mrb) SDL_FreeSurface(gm.s_mrb); + if (gm.s_fig) SDL_FreeSurface(gm.s_fig); + if (gm.s_mf) SDL_FreeSurface(gm.s_mf); + if (gm.s_msf) SDL_FreeSurface(gm.s_msf); + // release fonts + if (gm.f_sml) SF_Fr(gm.f_sml); + if (gm.f_wht) SF_Fr(gm.f_wht); + if (gm.f_rd) SF_Fr(gm.f_rd); + // release dynlists + DL_Clr(&gm.g_sts); + DL_Clr(&l_sts); + DL_Clr(&gm.shr); + // cursors // + if (gm.c_u) SDL_FreeCursor(gm.c_u); + if (gm.c_d) SDL_FreeCursor(gm.c_d); + if (gm.c_l) SDL_FreeCursor(gm.c_l); + if (gm.c_r) SDL_FreeCursor(gm.c_r); + if (gm.c_s) SDL_FreeCursor(gm.c_s); + if (gm.c_w) SDL_FreeCursor(gm.c_w); + // free map animations // + if (gm.m_ani) + free(gm.m_ani); + // sounds +#ifdef SOUND + if (gm.wv_tlp) sound_chunk_free(&gm.wv_tlp); + if (gm.wv_sel) sound_chunk_free(&gm.wv_sel); + if (gm.wv_stp) sound_chunk_free(&gm.wv_stp); + if (gm.wv_clk) sound_chunk_free(&gm.wv_clk); + if (gm.wv_exp) sound_chunk_free(&gm.wv_exp); + if (gm.wv_alm) sound_chunk_free(&gm.wv_alm); + if (gm.wv_arw) sound_chunk_free(&gm.wv_arw); + if (gm.wv_scr) sound_chunk_free(&gm.wv_scr); +#endif +} + +/* + open a new game +*/ +int G_Opn() +{ + Prf *p; + DL_E *e; + int flgs = SDL_SWSURFACE; + + // get current level set + gm.c_l_st = (LSet*)DL_Get(&l_sts, cfg.ls); + + // check if current level set is valid + if (!G_CkLSt()) { + // restore menu + MM_Shw(MM_RSZ); + + return 0; + } + + // current profile + gm.c_prf = (Prf*)DL_Get(&prfs, cfg.prf); + + // current set info + gm.c_s_inf = Prf_RegLS(gm.c_prf, gm.c_l_st); + + // dim & resize + if (cfg.dim) + SDL_DIM(); + if (cfg.fscr) + flgs = flgs | SDL_FULLSCREEN; + Sdl_StVdMd(gm.scr_w, gm.scr_h, 16, flgs); + + // create background + gm.s_bkgd = SS_Crt(gm.scr_w, gm.scr_h, SDL_SWSURFACE); + SDL_SetColorKey(gm.s_bkgd, 0, 0); + + // get highest score + gm.hi_scr = 0; + e = prfs.hd.n; + while (e != &prfs.tl) { + p = (Prf*)e->d; + if (p->scr > gm.hi_scr) + gm.hi_scr = p->scr; + e = e->n; + } + + // clear old chapter + gm.o_ch = -1; + + // init first level + L_Ini(0, 0); + + return 1; +} + +/* + close game +*/ +void G_Cls() +{ + // dim + if (!trm_gm && cfg.dim) + SDL_DIM(); + + // free background + if (gm.s_bkgd) SDL_FreeSurface(gm.s_bkgd); + + // free level + free(gm.c_lvl); + gm.c_lvl = 0; + + // restore cursor + SDL_SetCursor(gm.c_n); + + // show menu + MM_Shw(MM_RSZ); +} + +/* + game's main loop +*/ +void G_Run() +{ + int leave = 0; + int restart = 0; + int ms; + SDL_Event ev; + SDL_Surface *buf; + int flgs; + int restore_pos; + int tm_rel = 0; + int ign_c_stat = 0; + int bonus_level, bonus_moves; /* bonus for level completion and remaining moves */ + + while (!trm_gm) { + // clear input + while (SDL_PollEvent(&ev)); + // main loop + while (!leave && !trm_gm && !gm.l_done && !restart) { + // don't consume all cpu time + SDL_Delay( 5 ); + + restore_pos = 0; // do not restore old position + ign_c_stat = 0; // do not ignore cursor state + // get input + if (SDL_PollEvent(&ev)) { + switch (ev.type) { + case SDL_QUIT: + trm_gm = 1; + break; + case SDL_KEYUP: + switch (ev.key.keysym.sym) { + case SDLK_TAB: + SnapShot(); + break; + case SDLK_ESCAPE: + if (G_CfmQut()) + leave = 1; + break; + case SDLK_p: + G_Ps(); + break; + case SDLK_r: + if (G_CfmRst()) + restart = 1; + break; + case SDLK_f: + buf = SS_Crt(gm.scr_w, gm.scr_h, SDL_SWSURFACE); + D_FDST(buf); + D_FSRC(sdl.scr); + SS_Blt(); + cfg.fscr = !cfg.fscr; + flgs = SDL_SWSURFACE; + if (cfg.fscr) + flgs = flgs | SDL_FULLSCREEN; + Sdl_StVdMd(gm.scr_w, gm.scr_h, 16, flgs); + D_FDST(sdl.scr); + D_FSRC(buf); + SS_Blt(); + Sdl_FUpd(); + break; + default: + /* if no marble is selected we don't have to check anything */ + if ( !gm.m_sel ) + break; + /* warp? */ + if (gm.m_mv && (ev.key.keysym.sym == cfg.k_right || ev.key.keysym.sym == cfg.k_left || ev.key.keysym.sym == cfg.k_up || ev.key.keysym.sym == cfg.k_down)) { + gm.m_warp = 1; + break; + } + // undo key + if (ev.key.keysym.sym == cfg.k_undo) { + restore_pos = 1; +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + } + // up key + if (ev.key.keysym.sym == cfg.k_up && (gm.m_vd & MD_U) && !gm.m_mv) { + ign_c_stat = 1; + gm.c_stat = C_U; + Mr_IniMv(); +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + } + // down key + if (ev.key.keysym.sym == cfg.k_down && (gm.m_vd & MD_D) && !gm.m_mv) { + ign_c_stat = 1; + gm.c_stat = C_D; + Mr_IniMv(); +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + } + // left key + if (ev.key.keysym.sym == cfg.k_left && (gm.m_vd & MD_L) && !gm.m_mv) { + ign_c_stat = 1; + gm.c_stat = C_L; + Mr_IniMv(); +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + } + // right key + if (ev.key.keysym.sym == cfg.k_right && (gm.m_vd & MD_R) && !gm.m_mv) { + ign_c_stat = 1; + gm.c_stat = C_R; + Mr_IniMv(); +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + } + break; + } + break; + case SDL_MOUSEBUTTONDOWN: + break; + case SDL_MOUSEBUTTONUP: + if ( ev.button.button == 1 && gm.m_mv && + ( gm.c_l_st->limit_type == MOVES ) ) { + gm.m_warp = 1; + break; + } + gm.bttn[ev.button.button] = 1; + if (ev.button.button == 1) { + if (gm.c_stat == C_SEL) + Mr_Sel(ev.button.x, ev.button.y); + else + if (gm.m_sel && !gm.m_mv) { + // start movement of selected marble + Mr_IniMv(); + } + } + else + if (gm.m_sel && !gm.m_mv) + Mr_Rel(ev.button.x, ev.button.y); + break; + case SDL_MOUSEMOTION: + if ( !ign_c_stat ) + Cr_Cng(ev.motion.x, ev.motion.y); + gm.o_mx = ev.motion.x; + gm.o_my = ev.motion.y; + break; + default: + break; + } + } + + // hide + if (!leave && !restart) { + Mr_Hd(); + MF_Hd(); + Tm_Hd(); + Inf_Hd(); + Shr_Hd(); + Cr_Hd(); + } + + // update + ms = T_Gt(); + MA_Upd(ms); + if (restore_pos) + Mr_ResPos(); + if ( !Mr_Upd(ms) ) + restart = 1; + MF_Upd(ms); + Shr_Upd(ms); + Cr_Upd(ms); + if (!Tm_Upd(ms)) + restart = 1; + if (Inf_Upd() && G_CfmWrp()) { + gm.c_ch = gm.w_c; + gm.c_l_id = gm.w_l; + restart = 1; + } + + // show + if (!leave && !restart) + MA_Shw(); + if (!leave && !restart) { + Mr_Shw(); + } + if (!leave && !restart && !gm.l_done) { + MF_Shw(); + Tm_Shw(); + Inf_Shw(); + Shr_Shw(); + Cr_Shw(); + + // refresh + Sdl_UpdR(); + } + else + sdl.rnum = 0; // reset redraw regions + + // reset buttonstate + memset(gm.bttn, 0, sizeof(gm.bttn)); + } + + // leave ? + if (leave) + break; + + // init next level + if (gm.l_done || restart) { + + if (gm.l_done) { + + // figure animation + FA_Run(); + // bonus summary + if ( !gm.c_s_inf->cmp[gm.c_ch * gm.c_s_inf->l_num + gm.c_l_id] ) { + + /* level wasn't completed until now so gain score for it */ + bonus_level = LB_COMPLETED; + bonus_moves = gm.c_lvl->tm * LB_PER_MOVE; + modify_score( &bonus_level, &bonus_moves ); + BS_Run( bonus_level, bonus_moves ); + tm_rel = ( 1000 * gm.c_lvl->tm ) / gm.c_l_st->ch[gm.c_ch].lvls[gm.c_l_id].tm; + Prf_Upd(gm.c_prf, gm.c_s_inf, gm.c_ch * gm.c_l_st->l_num + gm.c_l_id, tm_rel, bonus_level + bonus_moves ); + + } + + } + + if (cfg.dim) + SDL_DIM(); + if (!restart) + if (!L_FndNxt()) // game finished ? + break; + L_Ini(gm.c_ch, gm.c_l_id); + restart = 0; + } + } + // save profiles + Prf_Sv(); +} + +/* + load all gfx sets +*/ +void G_LdGSts() +{ + char d_nm[256]; + char path[256+64]; + DIR *dir = 0; + struct dirent *e; + struct stat s; + GSet *g_st; + + printf("loading graphics sets...\n"); + + // create directory string // + sprintf(d_nm, "%s/gfx", SRC_DIR); + + // find and open directory // + if ((dir = opendir(d_nm)) == 0) { + fprintf(stderr, "ERROR: can't find directory '%s'\n", d_nm); + exit(1); + } + + // well, let's check for directories // + while ((e = readdir(dir)) != 0) { + sprintf(path, "%s/%s", d_nm, e->d_name); + stat(path, &s); + if (S_ISDIR(s.st_mode) && e->d_name[0] != '.') { + printf("'%s'... \n", e->d_name); + // load gfx // + g_st = (GSet*)malloc(sizeof(GSet)); + memset(g_st, 0, sizeof(GSet)); + strcpy(g_st->nm, e->d_name); + g_st->ok = 1; + + sprintf(path, "gfx/%s/%s", e->d_name, "background.bmp"); + g_st->s_bkgd = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL); + SDL_SetColorKey(g_st->s_bkgd, 0, 0); + + sprintf(path, "gfx/%s/%s", e->d_name, "wall.bmp"); + if ((g_st->s_wl = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "floor.bmp"); + if ((g_st->s_flr = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "arrow_r.bmp"); + if ((g_st->s_r_arw = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "arrow_l.bmp"); + if ((g_st->s_l_arw = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "arrow_u.bmp"); + if ((g_st->s_u_arw = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "arrow_d.bmp"); + if ((g_st->s_d_arw = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "barrier_lr.bmp"); + if ((g_st->s_lr_bar = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "barrier_ud.bmp"); + if ((g_st->s_ud_bar = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "teleport0.bmp"); + if ((g_st->s_tlp_0 = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "teleport1.bmp"); + if ((g_st->s_tlp_1 = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "teleport2.bmp"); + if ((g_st->s_tlp_2 = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "teleport3.bmp"); + if ((g_st->s_tlp_3 = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + sprintf(path, "gfx/%s/%s", e->d_name, "wall_crumble.bmp"); + if ((g_st->s_crmbl = SS_Ld(path, SDL_SWSURFACE | SDL_NONFATAL)) == 0) + g_st->ok = 0; + + if (g_st->ok) { + printf("ok\n"); + // opaque + SDL_SetColorKey(g_st->s_flr, 0, 0); + SDL_SetColorKey(g_st->s_wl, 0, 0); + } + DL_Add(&gm.g_sts, g_st); + } + } + closedir(dir); +} + + +/* + delete a gset +*/ +void G_DelGSt(void *p) +{ + GSet *st = (GSet*)p; + if (st->s_bkgd) SDL_FreeSurface(st->s_bkgd); + if (st->s_wl) SDL_FreeSurface(st->s_wl); + if (st->s_flr) SDL_FreeSurface(st->s_flr); + if (st->s_u_arw) SDL_FreeSurface(st->s_u_arw); + if (st->s_d_arw) SDL_FreeSurface(st->s_d_arw); + if (st->s_r_arw) SDL_FreeSurface(st->s_r_arw); + if (st->s_l_arw) SDL_FreeSurface(st->s_l_arw); + if (st->s_lr_bar) SDL_FreeSurface(st->s_lr_bar); + if (st->s_ud_bar) SDL_FreeSurface(st->s_ud_bar); + if (st->s_tlp_0) SDL_FreeSurface(st->s_tlp_0); + if (st->s_tlp_1) SDL_FreeSurface(st->s_tlp_1); + if (st->s_tlp_2) SDL_FreeSurface(st->s_tlp_2); + if (st->s_tlp_3) SDL_FreeSurface(st->s_tlp_3); + if (st->s_crmbl) SDL_FreeSurface(st->s_crmbl); + free(st); +} + +/* + pause game +*/ +void G_Ps() +{ + SFnt *ft = gm.f_sml; + SDL_Surface *buf; + char str[256]; + SDL_Event e; + int leave = 0; + int flgs; + int mx = gm.o_mx, my = gm.o_my; + + // save screen // + buf = SS_Crt(gm.scr_w, gm.scr_h, SDL_SWSURFACE); + SDL_SetColorKey(buf, 0, 0); + D_FDST(buf); + D_FSRC(sdl.scr); + SS_Blt(); + + // cursor + SDL_SetCursor(gm.c_n); + + // fill with black + D_FDST(sdl.scr); + SS_Fill(0x0); + + // write info + ft->algn = TA_X_C | TA_Y_C; + sprintf(str, "Game paused"); + SF_Wrt(ft, sdl.scr, gm.scr_w / 2, gm.scr_h / 2, str, 0); + + Sdl_FUpd(); + + // wait for 'p' + while (!leave) { + SDL_WaitEvent(&e); + switch (e.type) { + case SDL_QUIT: + trm_gm = 1; + leave = 1; + break; + case SDL_KEYUP: + if (e.key.keysym.sym == SDLK_p) + leave = 1; + if (e.key.keysym.sym == SDLK_f) { + cfg.fscr = !cfg.fscr; + flgs = SDL_SWSURFACE; + if (cfg.fscr) + flgs = flgs | SDL_FULLSCREEN; + Sdl_StVdMd(gm.scr_w, gm.scr_h, 16, flgs); + D_FDST(sdl.scr); + SS_Fill(0x0); + SF_Wrt(ft, sdl.scr, gm.scr_w / 2, gm.scr_h / 2, str, 0); + Sdl_FUpd(); + } + break; + case SDL_MOUSEMOTION: + mx = e.motion.x; + my = e.motion.y; + break; + } + } + + // restore screen + D_FDST(sdl.scr); + D_FSRC(buf); + SS_Blt(); + Sdl_FUpd(); + SDL_FreeSurface(buf); + + // cursor + Cr_Cng(mx, my); + + //reset time // + T_Rst(); +} + +/* + check if the figure has been completed +*/ +void G_CkFgr() +{ + int i, j, k, l; + Lvl *lvl = gm.c_lvl; + + for (i = 0; i < lvl->m_w - lvl->f_w; i++) + for (j = 0; j < lvl->m_h - lvl->f_h; j++) { + gm.l_done = 1; + for (k = 0; k < lvl->f_w; k++) { + for (l = 0; l < lvl->f_h; l++) { + if (lvl->fgr[k][l] != -1) + if (lvl->map[i + k][j + l].m != lvl->fgr[k][l]) { + gm.l_done = 0; + break; + } + } + if (!gm.l_done) + break; + } + if (gm.l_done) + return; + } +} + +/* + confirm warp +*/ +int G_CfmWrp() +{ + SFnt *ft = gm.f_sml; + SDL_Surface *buf; + SDL_Event e; + char str[256]; + int leave = 0, ret = 0; + int mx = gm.o_mx, my = gm.o_my; + + // save screen // + buf = SS_Crt(gm.scr_w, gm.scr_h, SDL_SWSURFACE); + SDL_SetColorKey(buf, 0, 0); + D_FDST(buf); + D_FSRC(sdl.scr); + SS_Blt(); + + // cursor + SDL_SetCursor(gm.c_n); + + // fill with black + D_FDST(sdl.scr); + SS_Fill(0x0); + + // write info + ft->algn = TA_X_C | TA_Y_T; + sprintf(str, "Your current position is level %i of chapter %i.", gm.c_l_id + 1, gm.c_ch + 1); + SF_Wrt(ft, sdl.scr, gm.scr_w / 2, 200, str, 0); + sprintf(str, "Do you really want to enter level %i of chapter %i?", gm.w_l + 1, gm.w_c + 1); + SF_Wrt(ft, sdl.scr, gm.scr_w / 2, 200 + 15, str, 0); + sprintf(str, "(All changes in the current level will be lost!)"); + SF_Wrt(ft, sdl.scr, gm.scr_w / 2, 200 + 30, str, 0); + sprintf(str, "(press y/n)"); + SF_Wrt(ft, sdl.scr, gm.scr_w / 2, 200 + 50, str, 0); + + Sdl_FUpd(); + +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + while (!leave) { + SDL_WaitEvent(&e); + switch (e.type) { + case SDL_QUIT: + trm_gm = leave = 1; + break; + case SDL_KEYUP: + switch (e.key.keysym.sym) { + case SDLK_y: + ret = 1; + leave = 1; + break; + case SDLK_n: + ret = 0; + leave = 1; + break; + default: + break; + } + break; + case SDL_MOUSEBUTTONUP: + switch (e.button.button) { + case 1: + ret = 1; + leave = 1; + break; + default: + ret = 0; + leave = 1; + break; + } + break; + case SDL_MOUSEMOTION: + mx = e.motion.x; + my = e.motion.y; + break; + } + } +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + + // restore screen + if (cfg.dim) + SDL_DIM(); + if (!ret) { + D_FDST(sdl.scr); + D_FSRC(buf); + SS_Blt(); + if (cfg.dim) + SDL_UNDIM(); + else + Sdl_FUpd(); + + // cursor + Cr_Cng(mx, my); + + } + SDL_FreeSurface(buf); + + // reset time // + T_Rst(); + + return ret; +} + +/* + confirm quit +*/ +int G_CfmQut() +{ + SFnt *ft = gm.f_sml; + SDL_Surface *buf; + SDL_Event e; + char str[256]; + int leave = 0, ret = 0; + int mx = gm.o_mx, my = gm.o_my; + + // save screen // + buf = SS_Crt(gm.scr_w, gm.scr_h, SDL_SWSURFACE); + SDL_SetColorKey(buf, 0, 0); + D_FDST(buf); + D_FSRC(sdl.scr); + SS_Blt(); + + // cursor + SDL_SetCursor(gm.c_n); + + // fill with black + D_FDST(sdl.scr); + SS_Fill(0x0); + + // write info + ft->algn = TA_X_C | TA_Y_C; + sprintf(str, "Do you really want to quit? (y/n)"); + SF_Wrt(ft, sdl.scr, gm.scr_w / 2, gm.scr_h / 2, str, 0); + + Sdl_FUpd(); + +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + while (!leave) { + SDL_WaitEvent(&e); + switch (e.type) { + case SDL_QUIT: + trm_gm = leave = 1; + break; + case SDL_KEYUP: + switch (e.key.keysym.sym) { + case SDLK_ESCAPE: + case SDLK_y: + ret = 1; + leave = 1; + break; + case SDLK_n: + ret = 0; + leave = 1; + break; + default: + break; + } + break; + case SDL_MOUSEBUTTONUP: + switch (e.button.button) { + case 1: + ret = 1; + leave = 1; + break; + default: + ret = 0; + leave = 1; + break; + } + break; + } + } +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + + // restore screen + if (!ret) { + if (cfg.dim) + SDL_DIM(); + D_FDST(sdl.scr); + D_FSRC(buf); + SS_Blt(); + if (cfg.dim) + SDL_UNDIM(); + else + Sdl_FUpd(); + + // cursor + Cr_Cng(mx, my); + + } + SDL_FreeSurface(buf); + + // reset time // + T_Rst(); + + return ret; +} + +/* + confirm quit +*/ +int G_CfmRst() +{ + SFnt *ft = gm.f_sml; + SDL_Surface *buf; + SDL_Event e; + char str[256]; + int leave = 0, ret = 0; + int mx = gm.o_mx, my = gm.o_my; + + // save screen // + buf = SS_Crt(gm.scr_w, gm.scr_h, SDL_SWSURFACE); + SDL_SetColorKey(buf, 0, 0); + D_FDST(buf); + D_FSRC(sdl.scr); + SS_Blt(); + + // cursor + SDL_SetCursor(gm.c_n); + + // fill with black + D_FDST(sdl.scr); + SS_Fill(0x0); + + // write info + ft->algn = TA_X_C | TA_Y_C; + sprintf(str, "Do you really want to restart? (y/n)"); + SF_Wrt(ft, sdl.scr, gm.scr_w / 2, gm.scr_h / 2, str, 0); + + Sdl_FUpd(); + +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + while (!leave) { + SDL_WaitEvent(&e); + switch (e.type) { + case SDL_QUIT: + trm_gm = leave = 1; + break; + case SDL_KEYUP: + switch (e.key.keysym.sym) { + case SDLK_r: + case SDLK_y: + ret = 1; + leave = 1; + break; + case SDLK_n: + ret = 0; + leave = 1; + break; + default: + break; + } + break; + case SDL_MOUSEBUTTONUP: + switch (e.button.button) { + case 1: + ret = 1; + leave = 1; + break; + default: + ret = 0; + leave = 1; + break; + } + break; + } + } +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + + // restore screen + if (cfg.dim) + SDL_DIM(); + if (!ret) { + D_FDST(sdl.scr); + D_FSRC(buf); + SS_Blt(); + if (cfg.dim) + SDL_UNDIM(); + else + Sdl_FUpd(); + + // cursor + Cr_Cng(mx, my); + + } + SDL_FreeSurface(buf); + + // reset time // + T_Rst(); + + return ret; +} + +/* + check if level set can be played and ask for confirmation if it got errors +*/ +int G_CkLSt() +{ + char str[256]; + SFnt *ft = gm.f_sml; + SDL_Event e; + + if (gm.c_l_st->ch == 0) { + D_FDST(sdl.scr); + SS_Fill(0x0); + sprintf(str, "This level set cannot be played.\n"); + ft->algn = TA_X_C | TA_Y_C; + SF_Wrt(ft, sdl.scr, sdl.scr->w / 2, sdl.scr->h / 2, str, 0); + Sdl_FUpd(); + Sdl_WtFrClk(); + return 0; + } + if (!gm.c_l_st->ok) { + D_FDST(sdl.scr); + SS_Fill(0x0); + sprintf(str, "This level set has errors. Play anyway? (y/n)\n"); + ft->algn = TA_X_C | TA_Y_C; + SF_Wrt(ft, sdl.scr, sdl.scr->w / 2, sdl.scr->h / 2, str, 0); + Sdl_FUpd(); + while (1) { + if (SDL_WaitEvent(&e)) + switch (e.type) { + case SDL_KEYUP: + switch (e.key.keysym.sym) { + case SDLK_ESCAPE: + case SDLK_n: + return 0; + case SDLK_y: + return 1; + default: + break; + } + case SDL_MOUSEBUTTONUP: + switch (e.button.button) { + case 1: + return 1; + default: + return 0; + break; + } + break; + } + } + } + return 1; +} + +// marble // +/* + hide current marble +*/ +void Mr_Hd() +{ + if (!gm.m_sel) return; + D_DST(sdl.scr, (int)gm.m_x, (int)gm.m_y, gm.t_w, gm.t_h); + D_SRC(gm.s_bkgd, (int)gm.m_x, (int)gm.m_y); + SS_Blt(); + Sdl_AddR((int)gm.m_x, (int)gm.m_y, gm.t_w, gm.t_h); +} + +/* + show current marble +*/ +void Mr_Shw() +{ + if (!gm.m_sel) return; + D_DST(sdl.scr, (int)gm.m_x, (int)gm.m_y, gm.t_w, gm.t_h); + D_SRC(gm.s_mrb, (int)gm.m_a.p * gm.m_a.w, gm.m_id * gm.t_h); + SS_Blt(); + Sdl_AddR((int)gm.m_x, (int)gm.m_y, gm.t_w, gm.t_h); +} + +/* + update current marble + return 0 if times out( moves ) +*/ +int Mr_Upd(int ms) +{ + float c; // change + int stp = 0; // marble stopped ? + + if (!gm.m_sel || !gm.m_mv) return 1; + + // marble animation (frame) + switch (gm.m_d) { + case 1: + case 2: + gm.m_a.p += gm.m_a.c * ms; + if (gm.m_a.p >= gm.m_a.f) + gm.m_a.p = 0; + break; + case 0: + case 3: + gm.m_a.p -= gm.m_a.c * ms; + if (gm.m_a.p <= 0) + gm.m_a.p = gm.m_a.f; + break; + } + + c = ms * gm.m_v; + switch (gm.m_d) { + case 0: + gm.m_y -= c; + if (gm.m_y <= gm.m_ty) { + Mr_Stp(); + stp = 1; + } + break; + case 1: + gm.m_x += c; + if (gm.m_x >= gm.m_tx) { + Mr_Stp(); + stp = 1; + } + break; + case 2: + gm.m_y += c; + if (gm.m_y >= gm.m_ty) { + Mr_Stp(); + stp = 1; + } + break; + case 3: + gm.m_x -= c; + if (gm.m_x <= gm.m_tx) { + Mr_Stp(); + stp = 1; + } + break; + } + + // warp??? + if ( gm.m_warp ) { + gm.m_x = gm.m_tx; gm.m_y = gm.m_ty; + Mr_Stp(); + stp = 1; + gm.m_warp = 0; + } + + // check time if move limit // + if ( stp && gm.c_l_st->limit_type == MOVES && + gm.m_act != M_TLP_0 && gm.m_act != M_TLP_1 && + gm.m_act != M_TLP_2 && gm.m_act != M_TLP_3) { + + gm.c_lvl->tm--; + if ( gm.c_lvl->tm <= 0 && !gm.l_done /* completion with last move is okay */ ) + return 0; + + } + + // stopped and awaiting action ? + if (stp && gm.m_act != M_EMPTY) + Mr_Act(); + else + if (stp) { +#ifdef SOUND + sound_play(gm.wv_stp); +#endif + } + + return 1; +} + +/* + select a marble +*/ +void Mr_Sel(int x, int y) +{ + int mx, my; + + mx = (x - gm.l_x) / gm.t_w; + my = (y - gm.l_y) / gm.t_h; + + if (gm.m_sel) { + gm.mf_a.p = gm.msf_a.p = 0; + Mr_Ins(); + } + + // set selected + gm.m_sel = 1; + // get map position + gm.m_mx = mx; + gm.m_my = my; + // check valid moving directions + Mr_CkVDir(mx, my); + // delete marble from background + L_DrwMpTl(mx, my); + // get position in screen + gm.m_x = mx * gm.t_w + gm.l_x; + gm.m_y = my * gm.t_h + gm.l_y; + // get id // + gm.m_id = gm.c_lvl->map[mx][my].m; + // delete marble from map + gm.c_lvl->map[mx][my].m = -1; + // save old position + gm.m_o_x = (int)gm.m_x; + gm.m_o_y = (int)gm.m_y; + gm.m_o_move_count = gm.c_lvl->tm; + +#ifdef SOUND + sound_play(gm.wv_sel); +#endif +} + +/* + release a marble +*/ +void Mr_Rel(int x, int y) +{ + Mr_Ins(); + gm.m_sel = 0; + SDL_SetCursor(gm.c_n); + gm.m_o_x = gm.m_o_y = -1; +} + +/* + initialize movement +*/ +void Mr_IniMv() +{ + int x_a = 0, y_a = 0, tx, ty; + int t_fnd = 0; + + // direction + gm.m_d = gm.c_stat -2; + if (gm.m_d < 0 || gm.m_d > 4) + return; + + // direction verified; activate movement + gm.m_mv = 1; + + // store position if no action + if ( gm.m_act == M_EMPTY ) { + gm.m_o_x = (int)gm.m_x; + gm.m_o_y = (int)gm.m_y; + gm.m_o_move_count = gm.c_lvl->tm; + } + + // clear previous action + gm.m_act = M_EMPTY; + + // compute target position + switch (gm.m_d) { + case 0: y_a = -1; break; + case 1: x_a = 1; break; + case 2: y_a = 1; break; + case 3: x_a = -1; break; + } + tx = gm.m_mx + x_a; ty = gm.m_my + y_a; + while ( // target already found + !t_fnd && + // wall + gm.c_lvl->map[tx][ty].t != M_WALL && + // crumbling wall + gm.c_lvl->map[tx][ty].t != M_CRUMBLE && + // marble + gm.c_lvl->map[tx][ty].m == -1 && + // up + !((gm.c_lvl->map[tx][ty].t == M_OW_D || gm.c_lvl->map[tx][ty].t == M_OW_D_C || gm.c_lvl->map[tx][ty].t == M_OW_L_C || gm.c_lvl->map[tx][ty].t == M_OW_R_C) && y_a == -1) && + // down + !((gm.c_lvl->map[tx][ty].t == M_OW_U || gm.c_lvl->map[tx][ty].t == M_OW_U_C || gm.c_lvl->map[tx][ty].t == M_OW_L_C || gm.c_lvl->map[tx][ty].t == M_OW_R_C) && y_a == 1) && + // right + !((gm.c_lvl->map[tx][ty].t == M_OW_L || gm.c_lvl->map[tx][ty].t == M_OW_L_C || gm.c_lvl->map[tx][ty].t == M_OW_U_C || gm.c_lvl->map[tx][ty].t == M_OW_D_C) && x_a == 1) && + // left + !((gm.c_lvl->map[tx][ty].t == M_OW_R || gm.c_lvl->map[tx][ty].t == M_OW_R_C || gm.c_lvl->map[tx][ty].t == M_OW_U_C || gm.c_lvl->map[tx][ty].t == M_OW_D_C) && x_a == -1) + ) { + + // check action + switch (gm.c_lvl->map[tx][ty].t) { + case M_TLP_0: + case M_TLP_1: + case M_TLP_2: + case M_TLP_3: + t_fnd = 1; + gm.m_act = gm.c_lvl->map[tx][ty].t; + break; + case M_OW_U: + if (y_a != -1) { + gm.m_act = M_OW_U; + t_fnd = 1; + } + break; + case M_OW_D: + if (y_a != 1) { + gm.m_act = M_OW_D; + t_fnd = 1; + } + break; + case M_OW_L: + if (x_a != -1) { + gm.m_act = M_OW_L; + t_fnd = 1; + } + break; + case M_OW_R: + if (x_a != 1) { + gm.m_act = M_OW_R; + t_fnd = 1; + } + break; + } + tx += x_a; + ty += y_a; + } + + // crumbling wall + if (gm.c_lvl->map[tx][ty].t == M_CRUMBLE) + gm.m_act = M_CRUMBLE; + + tx -= x_a; + ty -= y_a; + + gm.m_tx = tx * gm.t_w + gm.l_x; + gm.m_ty = ty * gm.t_h + gm.l_y; + + // wait cursor + SDL_SetCursor(gm.c_w); +} + +/* + stop a marble +*/ +void Mr_Stp() +{ + int mx, my; + + // position in screen + gm.m_x = gm.m_tx; + gm.m_y = gm.m_ty; + + mx = (gm.m_x - gm.l_x) / gm.t_w; + my = (gm.m_y - gm.l_y) / gm.t_h; + + // position in map + gm.m_mx = mx; + gm.m_my = my; + + // check valid moving directions + Mr_CkVDir(mx, my); + + gm.m_mv = 0; + gm.m_a.p = 0; + + // check cursor // + Cr_Cng(gm.o_mx, gm.o_my); + + // if no action check if the figure is completed + if (gm.m_act == M_EMPTY || gm.m_act == M_CRUMBLE) { + + gm.c_lvl->map[mx][my].m = gm.m_id; + G_CkFgr(); + gm.c_lvl->map[mx][my].m = -1; + } +} + +/* + insert a marble into map +*/ +void Mr_Ins() +{ + int mx, my, x, y; + + mx = (gm.m_x - gm.l_x) / gm.t_w; + my = (gm.m_y - gm.l_y) / gm.t_h; + x = mx * gm.t_w + gm.l_x; + y = my * gm.t_h + gm.l_y; + + //hide frame + MF_Hd(); + // draw to background + D_DST(gm.s_bkgd, x, y, gm.t_w, gm.t_h); + D_SRC(gm.s_mrb, 0, gm.m_id * gm.t_h); + SS_Blt(); + // to screen + D_DST(sdl.scr, x, y, gm.t_w, gm.t_h); + D_SRC(gm.s_mrb, 0, gm.m_id * gm.t_h); + SS_Blt(); + // and to map + gm.c_lvl->map[mx][my].m = gm.m_id; +} + +/* + check valid directions +*/ +void Mr_CkVDir(int mx, int my) +{ + gm.m_vd = 0; + if ( gm.c_lvl->map[mx][my].t != M_OW_D_C && gm.c_lvl->map[mx][my].t != M_OW_U_C && gm.c_lvl->map[mx - 1][my].t != M_WALL && gm.c_lvl->map[mx - 1][my].t != M_CRUMBLE && gm.c_lvl->map[mx - 1][my].m == -1 && gm.c_lvl->map[mx - 1][my].t != M_OW_R && gm.c_lvl->map[mx - 1][my].t != M_OW_R_C && gm.c_lvl->map[mx - 1][my].t != M_OW_U_C && gm.c_lvl->map[mx - 1][my].t != M_OW_D_C) + gm.m_vd = gm.m_vd | MD_L; + if ( gm.c_lvl->map[mx][my].t != M_OW_D_C && gm.c_lvl->map[mx][my].t != M_OW_U_C && gm.c_lvl->map[mx + 1][my].t != M_WALL && gm.c_lvl->map[mx + 1][my].t != M_CRUMBLE && gm.c_lvl->map[mx + 1][my].m == -1 && gm.c_lvl->map[mx + 1][my].t != M_OW_L && gm.c_lvl->map[mx + 1][my].t != M_OW_L_C && gm.c_lvl->map[mx + 1][my].t != M_OW_U_C && gm.c_lvl->map[mx + 1][my].t != M_OW_D_C) + gm.m_vd = gm.m_vd | MD_R; + if ( gm.c_lvl->map[mx][my].t != M_OW_L_C && gm.c_lvl->map[mx][my].t != M_OW_R_C && gm.c_lvl->map[mx][my - 1].t != M_WALL && gm.c_lvl->map[mx][my - 1].t != M_CRUMBLE && gm.c_lvl->map[mx][my - 1].m == -1 && gm.c_lvl->map[mx][my - 1].t != M_OW_D && gm.c_lvl->map[mx][my - 1].t != M_OW_D_C && gm.c_lvl->map[mx][my - 1].t != M_OW_L_C && gm.c_lvl->map[mx][my - 1].t != M_OW_R_C) + gm.m_vd = gm.m_vd | MD_U; + if ( gm.c_lvl->map[mx][my].t != M_OW_L_C && gm.c_lvl->map[mx][my].t != M_OW_R_C && gm.c_lvl->map[mx][my + 1].t != M_WALL && gm.c_lvl->map[mx][my + 1].t != M_CRUMBLE && gm.c_lvl->map[mx][my + 1].m == -1 && gm.c_lvl->map[mx][my + 1].t != M_OW_U && gm.c_lvl->map[mx][my + 1].t != M_OW_U_C && gm.c_lvl->map[mx][my + 1].t != M_OW_L_C && gm.c_lvl->map[mx][my + 1].t != M_OW_R_C) + gm.m_vd = gm.m_vd | MD_D; +} + +/* + handle actions! +*/ +void Mr_Act() +{ + int x_a = 0, y_a = 0, ow = 0, mx = gm.m_mx, my = gm.m_my, tx, ty; + int i, j; + + // crumbling wall ? + if (gm.m_act == M_CRUMBLE) { + tx = mx + (gm.m_d == 1 ? 1 : gm.m_d == 3 ? -1 : 0); + ty = my + (gm.m_d == 0 ? -1 : gm.m_d == 2 ? 1 : 0); + if (gm.c_lvl->map[tx][ty].t == M_CRUMBLE) { +#ifdef SOUND + sound_play(gm.wv_stp); +#endif + if (gm.c_lvl->map[tx][ty].id > 0) + gm.c_lvl->map[tx][ty].id--; + else { + Wl_Exp(gm.l_x + tx * gm.t_w, gm.l_y + ty * gm.t_h, gm.m_d); + gm.c_lvl->map[tx][ty].t = M_FLOOR; + // check moving direction + Mr_CkVDir(gm.m_mx, gm.m_my); + Cr_Cng(gm.o_mx, gm.o_my); + // reset restore position + gm.m_o_x = gm.m_tx; + gm.m_o_y = gm.m_ty; + gm.m_o_move_count = gm.c_lvl->tm; +#ifdef SOUND + sound_play(gm.wv_exp); +#endif + } + // draw to background + L_DrwMpTl(tx, ty); + // draw to screen + D_DST(sdl.scr, gm.l_x + tx * gm.t_w, gm.l_y + ty * gm.t_h, gm.t_w, gm.t_h); + D_SRC(gm.s_bkgd, gm.l_x + tx * gm.t_w, gm.l_y + ty * gm.t_h); + SS_Blt(); + // add refresh rect + Sdl_AddR(gm.l_x + tx * gm.t_w, gm.l_y + ty * gm.t_h, gm.t_w, gm.t_h); + } + // no action +// gm.m_act = M_EMPTY; + return; + } + + // oneway ? + switch (gm.m_act) { + case M_OW_U: + y_a = -1; + ow = 1; + gm.c_stat = C_U; + break; + case M_OW_D: + y_a = 1; + ow = 1; + gm.c_stat = C_D; + break; + case M_OW_R: + x_a = 1; + ow = 1; + gm.c_stat = C_R; + break; + case M_OW_L: + x_a = -1; + ow = 1; + gm.c_stat = C_L; + break; + } + if (ow) { +/* mx += x_a; my += y_a; + while (gm.c_lvl->map[mx][my].m != -1) { + mx += x_a; + my += y_a; + } + mx -= x_a; my -= y_a; + if (mx != gm.m_mx || my != gm.m_my) { + Mr_Ins(); + Mr_Sel(gm.l_x + mx * gm.t_w, gm.l_y + my * gm.t_h); + }*/ +#ifdef SOUND + sound_play(gm.wv_arw); +#endif + Mr_IniMv(); + return; + } + + // teleport ? + if (gm.m_act >= M_TLP_0 && gm.m_act <= M_TLP_3) { + for (i = 0; i < gm.c_lvl->m_w; i++) { + for (j = 0; j < gm.c_lvl->m_h; j++) + if (gm.c_lvl->map[i][j].t == gm.m_act && (i != gm.m_mx || j != gm.m_my)) { + // only warp if destination is empty // + if (gm.c_lvl->map[i][j].m == -1) { + gm.m_mx = i; + gm.m_my = j; + gm.m_x = gm.m_mx * gm.t_w + gm.l_x; + gm.m_y = gm.m_my * gm.t_h + gm.l_y; +#ifdef SOUND + sound_play(gm.wv_tlp); +#endif + } + gm.c_stat = gm.m_d + 2; // restore c_stat for movement initialization + // initate movement + Mr_IniMv(); + +/* // check if the figure is completed + gm.c_lvl->map[gm.m_mx][gm.m_my].m = gm.m_id; + G_CkFgr(); + gm.c_lvl->map[gm.m_mx][gm.m_my].m = -1;*/ + + return; + } + } + } + +// gm.m_act = M_EMPTY; +} + +/* + restore old position +*/ +void Mr_ResPos() +{ + if ( !gm.m_sel || gm.m_o_x == -1 ) return; + + gm.m_act = M_EMPTY; + gm.m_tx = gm.m_o_x; + gm.m_ty = gm.m_o_y; + if ( gm.c_l_st->limit_type == MOVES ) + gm.c_lvl->tm = gm.m_o_move_count; + Mr_Stp(); +} + +// timer // +/* + hide time +*/ +void Tm_Hd() +{ + int w = gm.brd_w - gm.t_x * 2; + int h = gm.f_wht->h; + + D_DST(sdl.scr, gm.t_x + gm.b_x, gm.t_y, w, h); + D_SRC(gm.s_bkgd, gm.t_x + gm.b_x, gm.t_y); + SS_Blt(); + Sdl_AddR(gm.t_x + gm.b_x, gm.t_y, w, h); +} + +/* + show time +*/ +void Tm_Shw() +{ + SFnt *ft; + char str_tm[16]; + char str_sec[4]; + int tm; + + // adjust time // + if ( gm.c_l_st->limit_type == TIME ) + tm = gm.c_lvl->tm / 1000; + else + tm = gm.c_lvl->tm; + + // select font + ft = gm.f_wht; + if ( gm.c_l_st->limit_type == TIME && tm <= 30 ) + ft = gm.f_rd; + else + if ( gm.c_l_st->limit_type == MOVES && tm <= 10 ) + ft = gm.f_rd; + + // draw "time" + ft->algn = TA_X_L | TA_Y_T; + if ( gm.c_l_st->limit_type == TIME ) + SF_Wrt(ft, sdl.scr, gm.t_x + gm.b_x, gm.t_y, "Time:", 0); + else + SF_Wrt(ft, sdl.scr, gm.t_x + gm.b_x, gm.t_y, "Moves:", 0); + + // compute and draw time str + if ( gm.c_l_st->limit_type == TIME ) { + + sprintf(str_tm, "%i:", tm / 60); + sprintf(str_sec, "%i", tm % 60); + if (strlen(str_sec) < 2) + strcat(str_tm, "0"); + strcat(str_tm, str_sec); + + } + else + sprintf( str_tm, "%i", tm ); + + ft->algn = TA_X_R | TA_Y_T; + SF_Wrt(ft, sdl.scr, gm.scr_w - gm.t_x, gm.t_y, str_tm, 0); + + Sdl_AddR(gm.t_x + gm.b_x, gm.t_y, gm.b_x - gm.t_x*2, ft->h); +} + +/* + update time + return 0 if time out +*/ +int Tm_Upd(int ms) +{ +#ifdef SOUND + int old_sec = gm.c_lvl->tm / 1000; +#endif + + gm.blink_time += ms; + + // if limit_type is MOVES, time is ignored // + if ( gm.c_l_st->limit_type == MOVES ) return 1; + + gm.c_lvl->tm -= ms; + + // new second ? +#ifdef SOUND + if ( old_sec != gm.c_lvl->tm / 1000 && old_sec <= 30 ) + sound_play(gm.wv_alm); +#endif + + if (gm.c_lvl->tm < 0) { + gm.c_lvl->tm = 0; + return 0; + } + return 1; +} + +// level info // +/* + hide level info +*/ +void Inf_Hd() +{ + D_DST(sdl.scr, gm.b_x + gm.s_x, gm.s_y + gm.s_h - 20, gm.s_w, 20); + D_SRC(gm.s_bkgd, gm.b_x + gm.s_x, gm.s_y + gm.s_h - 20); + SS_Blt(); + Sdl_AddR(gm.b_x + gm.s_x, gm.s_y + gm.s_h - 20, gm.s_w, 20); +} + +/* + update level info +*/ +int Inf_Upd() +{ + int x, y; + + x = (gm.o_mx - gm.c_x - gm.b_x) / L_SIZE; + y = (gm.o_my - gm.c_y) / L_SIZE; + + if (gm.o_mx < gm.c_x + gm.b_x || gm.o_my < gm.c_y || x >= gm.c_l_st->l_num || y >= gm.c_l_st->c_num) { + sprintf(gm.inf_str, "Tier %i, Puzzle %i", gm.c_ch + 1, gm.c_l_id + 1); + return 0; + } + if (!gm.c_s_inf->cmp[y * gm.c_s_inf->l_num + x] && !gm.c_s_inf->c_opn[y]) { + sprintf(gm.inf_str, "Access Denied"); + return 0; + } + sprintf(gm.inf_str, "Tier %i, Puzzle %i", y + 1, x + 1); + if (gm.bttn[1]) { + gm.w_c = y; + gm.w_l = x; + return 1; + } + return 0; +} + +/* + show level info +*/ +void Inf_Shw() +{ + gm.f_sml->algn = TA_X_C | TA_Y_B; + SF_Wrt(gm.f_sml, sdl.scr, gm.b_x + gm.brd_w / 2, gm.s_y + gm.s_h - 5, gm.inf_str, 0); +} + +// cursor +/* + load cursor +*/ +void Cr_Ld(char *src, char *d, char*m) +{ + int w=16, h = 16; + int i, j, k; + char b_d, b_m; + int p; + + k = 0; + for (j = 0; j < w * h; j += 8, k++) { + p = 1; + b_d = b_m = 0; + // create byte + for (i = 7; i >= 0; i--) { + switch (src[j + i]) { + case 2: + b_d += p; + case 1: + b_m += p; + break; + } + p *= 2; + } + // add to mask + d[k] = b_d; + m[k] = b_m; + } +} + +/* + change cursors appearing +*/ +void Cr_Cng(int x, int y) +{ + int mx, my, cx, cy; + + if (gm.m_mv) { + if (x > gm.scr_w - gm.brd_w) + SDL_SetCursor(gm.c_n); + else + SDL_SetCursor(gm.c_w); + return; + } + + mx = (x - gm.l_x) / gm.t_w; + my = (y - gm.l_y) / gm.t_h; + + if ( mx >= 0 && my >= 0 && mx < gm.c_lvl->m_w && my < gm.c_lvl->m_h + && (gm.c_lvl->map[mx][my].m != - 1 || (gm.m_mx == mx && gm.m_my == my))) { + // on marble + SDL_SetCursor(gm.c_s); + gm.c_stat = C_SEL; + } + else + if (!gm.m_sel || x > gm.scr_w - gm.brd_w) { + // nothing selected + SDL_SetCursor(gm.c_n); + gm.c_stat = C_NONE; + } + else { + // up, left, right, down + cx = x - (gm.m_mx * gm.t_w + gm.l_x + gm.t_w / 2); + cy = y - (gm.m_my * gm.t_h + gm.l_y + gm.t_h / 2); + if (abs(cx) > abs(cy)) { + if (cx > 0) { + if (gm.m_vd & MD_R) { + SDL_SetCursor(gm.c_r); + gm.c_stat = C_R; + } + else { + SDL_SetCursor(gm.c_n); + gm.c_stat = C_NONE; + } + } + else { + if (gm.m_vd & MD_L) { + SDL_SetCursor(gm.c_l); + gm.c_stat = C_L; + } + else { + SDL_SetCursor(gm.c_n); + gm.c_stat = C_NONE; + } + } + } + else { + if (cy > 0) { + if (gm.m_vd & MD_D) { + SDL_SetCursor(gm.c_d); + gm.c_stat = C_D; + } + else { + SDL_SetCursor(gm.c_n); + gm.c_stat = C_NONE; + } + } + else { + if (gm.m_vd & MD_U) { + SDL_SetCursor(gm.c_u); + gm.c_stat = C_U; + } + else { + SDL_SetCursor(gm.c_n); + gm.c_stat = C_NONE; + } + } + } + } +} + +// frame // +/* + hide marble frame +*/ +void MF_Hd() +{ + int x, y, w, h; + + if (!gm.m_sel) return; + + // get size + if (gm.msf_a.p == gm.msf_a.f) { + w = gm.mf_a.w; + h = gm.mf_a.h; + } + else { + w = gm.msf_a.w; + h = gm.msf_a.h; + } + + // get position + x = gm.m_x + (gm.t_w - w) / 2; + y = gm.m_y + (gm.t_h - h) / 2; + + // hide + D_DST(sdl.scr, x, y, w, h); + D_SRC(gm.s_bkgd, x, y); + SS_Blt(); + Sdl_AddR(x - 1, y - 1, w + 1, h + 1); +} + +/* + update marble frame +*/ +void MF_Upd(int ms) +{ + if (!gm.m_sel) { + gm.mf_a.p = gm.msf_a.p = 0; + return; + } + if (gm.msf_a.p != gm.msf_a.f) { + // still select animation + gm.msf_a.p += gm.msf_a.c * ms; + if (gm.msf_a.p >= gm.msf_a.f) + gm.msf_a.p = gm.msf_a.f; + } + else { + gm.mf_a.p += gm.mf_a.c * ms; + if (gm.mf_a.p >= gm.mf_a.f) + gm.mf_a.p = 0; + } +} + +/* + show marble frame +*/ +void MF_Shw() +{ + int x, y; + AInf *a; + SDL_Surface *s; + + if (!gm.m_sel) return; + + // get animation info + if (gm.msf_a.p == gm.msf_a.f) { + a = &gm.mf_a; + s = gm.s_mf; + } + else { + a = &gm.msf_a; + s = gm.s_msf; + } + + // get position + x = gm.m_x + (gm.t_w - a->w) / 2; + y = gm.m_y + (gm.t_h - a->h) / 2; + + // show + D_DST(sdl.scr, x, y, a->w, a->h); + D_SRC(s, (int)a->p * a->w, 0); + SS_Blt(); + Sdl_AddR(x, y, a->w, a->h); +} + +// map animations // +/* + get position and type of all animations +*/ +void MA_Ini() +{ + int i, j; + + // free and reallocate m_ani + if (gm.m_ani) + free(gm.m_ani); + gm.m_ani = (MAni*)malloc(sizeof(MAni) * gm.c_lvl->m_w * gm.c_lvl->m_h); + gm.ma_num = 0; + + // parse level map + for (i = 0; i < gm.c_lvl->m_w; i++) + for (j = 0; j < gm.c_lvl->m_h; j++) + switch (gm.c_lvl->map[i][j].t) { + case M_OW_U: + case M_OW_D: + case M_OW_L: + case M_OW_R: + case M_OW_U_C: + case M_OW_D_C: + case M_OW_L_C: + case M_OW_R_C: + gm.m_ani[gm.ma_num].x = i; + gm.m_ani[gm.ma_num].y = j; + gm.m_ani[gm.ma_num].t = gm.c_lvl->map[i][j].t; + gm.m_ani[gm.ma_num].a = &gm.ma_ow_a; + gm.ma_num++; + break; + case M_TLP_0: + case M_TLP_1: + case M_TLP_2: + case M_TLP_3: + gm.m_ani[gm.ma_num].x = i; + gm.m_ani[gm.ma_num].y = j; + gm.m_ani[gm.ma_num].t = gm.c_lvl->map[i][j].t; + gm.m_ani[gm.ma_num].a = &gm.ma_tlp_a; + gm.ma_num++; + break; + default: + break; + } +} + +void MA_Upd(int ms) +{ + if (!cfg.ani) return; + + gm.ma_ow_a.p += (float)ms * gm.ma_ow_a.c; + if (gm.ma_ow_a.p >= gm.ma_ow_a.f) + gm.ma_ow_a.p = 0; + + gm.ma_tlp_a.p += (float)ms * gm.ma_tlp_a.c; + if (gm.ma_tlp_a.p >= gm.ma_tlp_a.f) + gm.ma_tlp_a.p = 0; +} + +/* + show map animations +*/ +void MA_Shw() +{ + int i; + int x, y; + + if (!cfg.ani) return; + + for (i = 0; i < gm.ma_num; i++) { + // get position in screen + x = gm.l_x + gm.m_ani[i].x * gm.t_w; + y = gm.l_y + gm.m_ani[i].y * gm.t_h; + + // draw empty floor + D_DST(sdl.scr, x, y, gm.t_w, gm.t_h); + D_SRC(gm.c_g_st->s_flr, 0, 0); + SS_Blt(); + + // oneway + D_DST(sdl.scr, x, y, gm.t_w, gm.t_h); + switch (gm.m_ani[i].t) { + case M_OW_R: + case M_OW_R_C: + D_SRC(gm.c_g_st->s_r_arw, (int)gm.m_ani[i].a->p * gm.t_w, 0); + SS_Blt(); + break; + case M_OW_L: + case M_OW_L_C: + D_SRC(gm.c_g_st->s_l_arw, (int)gm.m_ani[i].a->p * gm.t_w, 0); + SS_Blt(); + break; + case M_OW_U: + case M_OW_U_C: + D_SRC(gm.c_g_st->s_u_arw, 0, (int)gm.m_ani[i].a->p * gm.t_h); + SS_Blt(); + break; + case M_OW_D: + case M_OW_D_C: + D_SRC(gm.c_g_st->s_d_arw, 0, (int)gm.m_ani[i].a->p * gm.t_h); + SS_Blt(); + break; + } + D_DST(sdl.scr, x, y, gm.t_w, gm.t_h); + switch (gm.m_ani[i].t) { + case M_OW_U_C: + case M_OW_D_C: + D_SRC(gm.c_g_st->s_lr_bar, 0, 0); + SS_Blt(); + break; + case M_OW_L_C: + case M_OW_R_C: + D_SRC(gm.c_g_st->s_ud_bar, 0, 0); + SS_Blt(); + break; + } + + // teleport + D_DST(sdl.scr, x, y, gm.t_w, gm.t_h); + switch (gm.m_ani[i].t) { + case M_TLP_0: + D_SRC(gm.c_g_st->s_tlp_0, (int)gm.m_ani[i].a->p * gm.t_w, 0); + SS_ABlt(gm.tlp_a); + break; + case M_TLP_1: + D_SRC(gm.c_g_st->s_tlp_1, (int)gm.m_ani[i].a->p * gm.t_w, 0); + SS_ABlt(gm.tlp_a); + break; + case M_TLP_2: + D_SRC(gm.c_g_st->s_tlp_2, (int)gm.m_ani[i].a->p * gm.t_w, 0); + SS_ABlt(gm.tlp_a); + break; + case M_TLP_3: + D_SRC(gm.c_g_st->s_tlp_3, (int)gm.m_ani[i].a->p * gm.t_w, 0); + SS_ABlt(gm.tlp_a); + break; + } + + // marble on animation + if (gm.c_lvl->map[gm.m_ani[i].x][gm.m_ani[i].y].m != -1 && + ( ((gm.blink_time / 250) & 1) || gm.l_done ) ) { + D_DST(sdl.scr, x, y, gm.t_w, gm.t_h); + D_SRC(gm.s_mrb, 0, gm.c_lvl->map[gm.m_ani[i].x][gm.m_ani[i].y].m * gm.t_w); + SS_Blt(); + } + + // refresh rect + Sdl_AddR(x, y, gm.t_w, gm.t_h); + } +} + +// shrapnells // +/* + add new shrapnell +*/ +void Shr_Add(int x, int y, int w, int h, Vec d, SDL_Surface *s_shr) +{ + Shr *s; + + s = (Shr*)malloc(sizeof(Shr)); + s->d = d; + s->x = x; + s->y = y; + s->w = w; + s->h = h; + s->a = 0; + if ( s_shr ) + s->s_shr = s_shr; + else { + + s->s_shr = SS_Crt(w, h, SDL_SWSURFACE); + D_DST(s->s_shr, 0, 0, w, h); + D_SRC(sdl.scr, x, y); + SS_Blt(); + + } + + DL_Add(&gm.shr, s); +} + +/* + delete shrapnell +*/ +void Shr_Del(void *p) +{ + Shr *s = (Shr*)p; + if ( s->s_shr ) SDL_FreeSurface(s->s_shr); + free(p); +} + +/* + hide shrapnell +*/ +void Shr_Hd() +{ + DL_E *e = gm.shr.hd.n; + Shr *s; + + while ( e != &gm.shr.tl ) { + + s = (Shr*)e->d; + + D_DST(sdl.scr, (int)s->x, (int)s->y, s->w, s->h); + D_SRC(gm.s_bkgd, (int)s->x, (int)s->y); + SS_Blt(); + Sdl_AddR((int)s->x, (int)s->y, s->w, s->h); + + e = e->n; + + } + +} + +/* + update shrapnell +*/ +void Shr_Upd(int ms) +{ + DL_E *n, *e = gm.shr.hd.n; + Shr *s; + + while ( e != &gm.shr.tl ) { + + n = e->n; + + s = (Shr*)e->d; + + s->x += s->d.x * (float)ms; + s->y += s->d.y * (float)ms; + s->a += gm.shr_a_c * (float)ms; + + if (s->a >= 255) + DL_DelE(&gm.shr, e); + + e = n; + + } +} + +/* + show shrapnell +*/ +void Shr_Shw() +{ + DL_E *e = gm.shr.hd.n; + Shr *s; + + while ( e != &gm.shr.tl ) { + + s = (Shr*)e->d; + + D_DST(sdl.scr, (int)s->x, (int)s->y, s->w, s->h); + D_SRC(s->s_shr, 0, 0); + SS_ABlt(s->a); + Sdl_AddR((int)s->x, (int)s->y, s->w, s->h); + + e = e->n; + + } + +} + +// wall // +/* + explode crumble wall into lot of pieces +*/ +void Wl_Exp(int x, int y, int d) +{ + int i, j; + int sz = 4; + Vec v; + int x_r, x_off, y_r, y_off; // direction values + SDL_Surface *s_shr; + + if ( !cfg.ani ) return; + + x_r = y_r = 200; + x_off = y_off = 100; + + // adjust direction values + switch (d) { + + case 0: + y_r = y_off = 100; + break; + + case 1: + x_r = 100; + x_off = 0; + break; + + case 2: + y_r = 100; + y_off = 0; + break; + + case 3: + x_r = x_off = 100; + break; + + } + + for ( i = 0; i < gm.t_w; i += sz ) + for ( j = 0; j < gm.t_h; j += sz ) { + + v.x = (float)((rand() % x_r ) - x_off) / 1000; + v.y = (float)((rand() % y_r ) - y_off) / 1000; + + s_shr = SS_Crt(sz, sz, SDL_SWSURFACE); + D_DST(s_shr, 0, 0, sz, sz); + D_SRC(gm.c_g_st->s_crmbl, i, j); + SS_Blt(); + + Shr_Add(x + i, y + j, sz, sz, v, s_shr); + + } +} + +// figure animation // +/* + main animation function; select and explode marbles one by one +*/ +void FA_Run() +{ + int i, j, k; + int m_cnt = 0; // marble count + int m_pos[gm.c_lvl->f_w * gm.c_lvl->f_h][2], b; + int ms; + SDL_Event e; + int leave = 0; + int tm, c_tm; // time in ms + + if (!cfg.ani) return; + + if (gm.m_sel) + Mr_Ins(); + + // count marbles and get position + for ( i = 0; i < gm.c_lvl->m_w; i++ ) + for (j = 0; j < gm.c_lvl->m_h; j++ ) + if ( gm.c_lvl->map[i][j].m != - 1 ) { + + m_pos[m_cnt][0] = i; + m_pos[m_cnt][1] = j; + m_cnt++; + + } + + // unsort positions + for ( k = 0; k < m_cnt * 5; k++) { + + i = rand() % m_cnt; + j = rand() % m_cnt; + + b = m_pos[i][0]; + m_pos[i][0] = m_pos[j][0]; + m_pos[j][0] = b; + b = m_pos[i][1]; + m_pos[i][1] = m_pos[j][1]; + m_pos[j][1] = b; + + } + + // explosions + MF_Hd(); + T_Rst(); + tm = 250; + c_tm = 0; + m_cnt--; + SDL_SetCursor(gm.c_w); + while ( (m_cnt >= 0 || gm.shr.cntr > 0) && !trm_gm && !leave ) { + + // termination ? + if (SDL_PollEvent(&e)) { + switch (e.type) { + case SDL_QUIT: + trm_gm = 1; + break; + case SDL_MOUSEBUTTONUP: + case SDL_KEYUP: + if (e.key.keysym.sym == SDLK_TAB) + SnapShot(); + else + leave = 1; + break; + } + } + + // show shrapnells + Shr_Hd(); + ms = T_Gt(); + c_tm -= ms; + MA_Upd(ms); + Shr_Upd(ms); + MA_Shw(); + Shr_Shw(); + Tm_Shw(); + Inf_Shw(); + Sdl_UpdR(); + + //add new shrapnells + if (m_cnt >= 0 && c_tm <= 0) { + + FA_Add(m_pos[m_cnt][0], + m_pos[m_cnt][1], + gm.c_lvl->map[m_pos[m_cnt][0]][m_pos[m_cnt][1]].m); + c_tm = tm; + m_cnt--; +#ifdef SOUND + sound_play(gm.wv_exp); +#endif + + } + + } + +} + +/* + add shrapnells at x,y with marble-id m +*/ +void FA_Add(int mx, int my, int m) +{ + int x, y; + int i, j; + int sz = 4; // size + SDL_Surface *s_shr; + Vec v; + + x = gm.l_x + mx * gm.t_w; + y = gm.l_y + my * gm.t_h; + + // delete from screne + gm.c_lvl->map[mx][my].m = -1; + L_DrwMpTl(mx, my); + Sdl_AddR(x, y, gm.t_w, gm.t_h); + + // create shrapnells + for ( i = 0; i < gm.t_w; i += sz ) + for ( j = 0; j < gm.t_h; j += sz ) { + + v.x = (float)((rand() % 200 ) - 100) / 1000; + v.y = (float)((rand() % 200 ) - 100) / 1000; + + s_shr = SS_Crt(sz, sz, SDL_SWSURFACE); + D_DST(s_shr, 0, 0, sz, sz); + D_SRC(gm.s_mrb, i, gm.t_h * m + j); + SS_Blt(); + + Shr_Add(x + i, y + j, sz, sz, v, s_shr); + + } +} + +// credits // +/* + initiate credits +*/ +void Cr_Ini() +{ + gm.cr_st = 0; + gm.cr_a = 255; + gm.cr_c_tm = gm.cr_tm; + sprintf(gm.cr_str, "'%s' (Author: %s)", gm.c_l_st->ch[gm.c_ch].nm, gm.c_l_st->ch[gm.c_ch].authr); + gm.cr_w = SF_TxtW(gm.f_sml, gm.cr_str); + gm.cr_h = gm.f_sml->h; + gm.cr_x = (gm.scr_w - gm.brd_w - gm.cr_w) / 2; +} + +/* + hide credits +*/ +void Cr_Hd() +{ + if ( gm.cr_st == 3 ) return; + + D_DST(sdl.scr, gm.cr_x, gm.cr_y, gm.cr_w, gm.cr_h); + D_SRC(gm.s_bkgd, gm.cr_x, gm.cr_y); + SS_Blt(); +} + +/* + update credits +*/ +void Cr_Upd(int ms) +{ + if ( gm.cr_st == 3 ) return; + + switch ( gm.cr_st ) { + + case 0: + // undim + gm.cr_a -= gm.cr_a_c * (float)ms; + if ( gm.cr_a <= 0 ) { + + gm.cr_a = 0; + gm.cr_st = 1; + + } + break; + + case 1: + // just show till timeout + gm.cr_c_tm -= ms; + if ( gm.cr_c_tm <= 0 ) + gm.cr_st = 2; + break; + + case 2: + // undim + gm.cr_a += gm.cr_a_c * (float)ms; + if ( gm.cr_a >= 255 ) { + + gm.cr_a = 255; + gm.cr_st = 3; + + } + break; + + } +} + +/* + show credits +*/ +void Cr_Shw() +{ + if ( gm.cr_st == 3) return; + + gm.f_sml->algn = TA_X_L | TA_Y_T; + SF_Wrt(gm.f_sml, sdl.scr, gm.cr_x, gm.cr_y, gm.cr_str, (int)gm.cr_a); + Sdl_AddR(gm.cr_x, gm.cr_y, gm.cr_w, gm.cr_h); +} + +// modify score // +void modify_score( int *b_lvl, int *b_tm ) +{ + /* modify score according to difficulty level */ + switch (cfg.diff) { + case DIFF_EASY: + *b_lvl /= 2; + *b_tm /= 2; + break; + case DIFF_NORMAL: break; + case DIFF_HARD: + *b_lvl *= 2; + *b_tm *= 2; + break; + case DIFF_BRAINSTORM: + *b_tm *= 5; + *b_lvl *= 5; + break; + } +} + +// bonus summary // +/* + give a bonus summary +*/ +void BS_Run(float b_lvl, float b_tm) +{ + SDL_Surface *buf; + SDL_Event e; + int leave = 0; + int coff, cy; // level completed + int toff, ty; // time bonus + int soff, sy; // score + int ms; + int sw = 80, sh = gm.f_sml->h; // string width, height + float b_c = 1.0; // bonus change + float scr = gm.c_prf->scr; + int end_scr; + int old_scr; + + end_scr = gm.c_prf->scr + (int)b_lvl + (int)b_tm; + + // normal cursor + SDL_SetCursor(gm.c_n); + + // darken screen + buf = SS_Crt(gm.scr_w, gm.scr_h, SDL_SWSURFACE); + SDL_SetColorKey(buf, 0, 0); + D_FDST(buf); + SS_Fill(0x0); + D_FDST(sdl.scr); + D_FSRC(buf); + SS_ABlt(128); + SDL_FreeSurface(buf); + D_FDST(gm.s_bkgd); + D_FSRC(sdl.scr); + SS_Blt(); + + // positions + cy = 200; coff = 200; + ty = 220; toff = 200; + sy = 250; soff = 200; + + // info + gm.f_sml->algn = TA_X_L | TA_Y_T; + SF_Wrt(gm.f_sml, sdl.scr, coff, cy, "Level Bonus:", 0); + SF_Wrt(gm.f_sml, sdl.scr, toff, ty, "Move Bonus:", 0); + SF_Wrt(gm.f_sml, sdl.scr, soff, sy, "Total Score:", 0); + Sdl_FUpd(); + + // show bonus first time + gm.f_sml->algn = TA_X_R | TA_Y_T; + BS_Shw(gm.scr_w - soff, sy, (int)scr); + Sdl_UpdR(); + SDL_Delay(500); + BS_Shw(gm.scr_w - coff, cy, (int)b_lvl); + Sdl_UpdR(); +#ifdef SOUND + sound_play(gm.wv_exp); +#endif + SDL_Delay(500); + BS_Shw(gm.scr_w - toff, ty, (int)b_tm); + Sdl_UpdR(); +#ifdef SOUND + sound_play(gm.wv_exp); +#endif + SDL_Delay(500); + + T_Rst(); + while ( !leave ) { + + // break? + if ( SDL_PollEvent(&e) ) + switch ( e.type ) { + + case SDL_QUIT: + trm_gm = 1; + break; + + case SDL_MOUSEBUTTONUP: + case SDL_KEYUP: + leave = 1; + break; + + } + + // time + ms = T_Gt(); + + // hide + BS_Hd(gm.scr_w - coff - sw, cy, sw, sh); + BS_Hd(gm.scr_w - toff - sw, ty, sw, sh); + BS_Hd(gm.scr_w - soff - sw, sy, sw, sh); + + // update + old_scr = (int)scr; + if ( b_lvl > 0 ) { + + b_lvl -= b_c * (float)ms; + scr += b_c * (float)ms; + if ( b_lvl < 0 ) + b_lvl = 0; + + } + if ( b_tm > 0 ) { + + b_tm -= b_c * (float)ms; + scr += b_c * (float)ms; + if ( b_tm < 0 ) + b_tm = 0; + + } + if ( (int)scr >= end_scr) + scr = end_scr; + if (b_lvl == 0 && b_tm == 0) + scr = end_scr; +#ifdef SOUND + if ( (old_scr / 50) != (int)scr / 50 ) + sound_play(gm.wv_scr); +#endif + + // show + BS_Shw(gm.scr_w - coff, cy, (int)b_lvl); + BS_Shw(gm.scr_w - toff, ty, (int)b_tm); + BS_Shw(gm.scr_w - soff, sy, (int)scr); + + Sdl_UpdR(); + } +} + +/* + hide number +*/ +void BS_Hd(int x, int y, int w, int h) +{ + D_DST(sdl.scr, x, y, w, h); + D_SRC(gm.s_bkgd, x, y); + SS_Blt(); + Sdl_AddR(x, y, w, h); +} + +/* + show number +*/ +void BS_Shw(int x, int y, int v) +{ + char str[10]; + + sprintf(str, "%i", v); + SF_Wrt(gm.f_sml, sdl.scr, x, y, str, 0); + Sdl_AddR(x - SF_TxtW(gm.f_sml, str), y, SF_TxtW(gm.f_sml, str), gm.f_sml->h); +} + +// snap shot // +/* + take a screenshot +*/ +void SnapShot() +{ + char filename[32]; +#ifdef SOUND + sound_play(gm.wv_clk); +#endif + sprintf(filename, "snapshot_%i.bmp", gm.snap++); + SDL_SaveBMP(sdl.scr, filename); +} diff --git a/project/jni/application/lmarbles-1.0.8/src/game.h b/project/jni/application/lmarbles-1.0.8/src/game.h new file mode 100644 index 000000000..005016539 --- /dev/null +++ b/project/jni/application/lmarbles-1.0.8/src/game.h @@ -0,0 +1,279 @@ +/*************************************************************************** + game.h - description + ------------------- + begin : Mon Aug 14 2000 + copyright : (C) 2000 by Michael Speck + email : kulkanie@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef GAME_H +#define GAME_H + +#include +#include +#include "levels.h" +#include "dynlist.h" +#include "profile.h" +#include "sdl.h" +#include "audio.h" + +// gfx set // +typedef struct { + char nm[16]; // name + int ok; // can be used + SDL_Surface + *s_bkgd, // background + *s_wl, // walls + *s_flr, // floor + *s_r_arw, *s_l_arw, *s_u_arw, *s_d_arw, // arrows + *s_ud_bar, *s_lr_bar, // barriers + *s_tlp_0, *s_tlp_1, *s_tlp_2, *s_tlp_3, // teleporters + *s_crmbl; // crumbling wall +} GSet; + +// animation information // +typedef struct { + int f; // frame limit // + float c; // change per millisecond // + float p; // current position // + int w, h; // size of one sprite // +} AInf; + +// map animation // +typedef struct { + int x, y; // position in map + int t; // type + AInf *a; // animation info +} MAni; + +// position +typedef struct { + int x, y; +} Pos; + +// vector +typedef struct { + float x,y; +} Vec; + +// shrapnell +typedef struct { + SDL_Surface *s_shr; // picture; + Vec d; //direction + float x,y; //position + int w, h; // size + float a; // alpha +} Shr; + +// cursor states // +#define C_NONE 0 +#define C_SEL 1 +#define C_U 2 +#define C_R 3 +#define C_D 4 +#define C_L 5 + +// valid marble directions // +#define MD_L (1<<0) +#define MD_R (1<<1) +#define MD_U (1<<2) +#define MD_D (1<<3) + +#define L_GREEN 0 +#define L_ORANGE 1 +#define L_RED 2 +#define L_WHITE 3 +#define L_SIZE 12 +typedef struct { + // gfx sets // + DLst g_sts; // gfx sets // + // mouse button state // + int bttn[4]; + // graphics // + SDL_Surface *s_lghts; // lamps displaying level progress // + SDL_Surface *s_brd; // side board // + SDL_Surface *s_mrb; // marbles // + SDL_Surface *s_fig; // figure // + SDL_Surface *s_bkgd; // background // + SDL_Surface *s_mf; // marble frame // + SDL_Surface *s_msf; // marble select frame // + // fonts // + SFnt *f_sml; // info // + SFnt *f_wht; // time // + SFnt *f_rd; // time2 - not much time left // + // references // + Prf *c_prf; // current profile // + SInf *c_s_inf; // current profile level set info // + LSet *c_l_st; // current level set // + GSet *c_g_st; // current gfx set // + Lvl *c_lvl; // current level // + // player // + int hi_scr; // last hiscore // + int c_l_id; // current level // + int c_ch; // current chapter // + int o_ch; // old chapter // + int l_done; // level finished // + // marble // + float m_v; // marble velocity per millisecond // + int m_sel; // selected a marble ? // + int m_mx, m_my; // position in map // + int m_o_x, m_o_y; // old position // + int m_o_move_count; // old move count // + float m_x, m_y; // position in screen // + int m_mv; // moving ? // + int m_d; // direction of moving // + int m_vd; // valid directions // + int m_tx, m_ty; // target position in screen // + int m_id; // current type of marble // + AInf m_a; // animation information // + int m_act; // action type // + int m_warp; // warp marble to destination // + // marble frame and marble select frame + AInf mf_a; // animation info + AInf msf_a; // animation info + // layout // + int l_x, l_y; // offset of level relative to 0,0 -- in L_Ini() + int f_x, f_y; // figure offset relative to b_x, 0 + int b_x; // board x + int i_x, i_y; // info position relative to b_x,0 + int t_x, t_y; // timer position relative to b_x,0 + int s_x, s_y; // set info position relative to b_x,0 + int c_x, c_y; // position of first chapter info relative to b_x,0 -- in L_Ini() + // geometry // + int t_w, t_h; // tile size // + int f_w, f_h; // figure marble size // + int f_fw, f_fh; // figure frame size // + int scr_w, scr_h; // screen size // + int brd_w; // board width + int s_w, s_h; // size of set info + int c_off; // offset between chapter infos // + // cursors // + int c_stat; // cursor state // + SDL_Cursor *c_u, *c_d, *c_l, *c_r, *c_s, *c_n, *c_w; // cursors + // old mouse pos // + int o_mx, o_my; + // level warp // + char inf_str[64]; // warp info string + int w_c, w_l; // warp level and chapter + // map animations // + MAni *m_ani; // animations + int ma_num; // animation number + AInf ma_ow_a; // oneway info + AInf ma_tlp_a; // teleport info + int tlp_a; // telporter alpha + // sounds +#ifdef SOUND + Sound_Chunk *wv_tlp; // teleport + Sound_Chunk *wv_sel; // select + Sound_Chunk *wv_stp; // stop + Sound_Chunk *wv_clk; // click + Sound_Chunk *wv_exp; // explode + Sound_Chunk *wv_alm; // alarm + Sound_Chunk *wv_arw; // arrow + Sound_Chunk *wv_scr; // score +#endif + DLst shr; // shrapnells + float shr_a_c; // alpha change per second + // credits + float cr_a_c; // alpha change per msecond + float cr_a; // current alpha + int cr_tm; // shown how long ? + int cr_c_tm; // current time + char cr_str[256]; // what is shown... + int cr_x, cr_y, cr_w, cr_h; // shown where ? + int cr_st; // state: 0 undim, 1 shown, 2 dim + // snapshot + int snap; + // blink time // + int blink_time; +} Game; + +void G_Ini(); +void G_Trm(); +int G_Opn(); +void G_Cls(); +void G_Run(); +void G_LdGSts(); +void G_DelGSt(void *p); +void G_Ps(); +void G_CkFgr(); +int G_CfmWrp(); +int G_CfmQut(); +int G_CfmRst(); +int G_CkLSt(); + +// marble // +void Mr_Hd(); +void Mr_Shw(); +int Mr_Upd(int ms); +void Mr_Sel(int x, int y); +void Mr_Rel(int x, int y); +void Mr_IniMv(); +void Mr_Stp(); +void Mr_Ins(); +void Mr_CkVDir(int mx, int my); +void Mr_Act(); +void Mr_ResPos(); + +// timer // +void Tm_Hd(); +void Tm_Shw(); +int Tm_Upd(int ms); + +// level info // +void Inf_Hd(); +int Inf_Upd(); +void Inf_Shw(); + +// cursor // +void Cr_Ld(char *src, char *d, char*m); +void Cr_Cng(int x, int y); + +// frame // +void MF_Hd(); +void MF_Upd(int ms); +void MF_Shw(); + +// map animations // +void MA_Ini(); +void MA_Upd(int ms); +void MA_Shw(); + +// shrapnells // +void Shr_Add(int x, int y, int w, int h, Vec d, SDL_Surface *s_shr); +void Shr_Del(void *p); +void Shr_Hd(); +void Shr_Upd(int ms); +void Shr_Shw(); + +// wall // +void Wl_Exp(int x, int y, int v); + +// figure animation // +void FA_Run(); +void FA_Add(int mx, int my, int m); + +// credits // +void Cr_Ini(); +void Cr_Hd(); +void Cr_Upd(int ms); +void Cr_Shw(); + +// bonus summary // +void BS_Run(float b_lvl, float b_tm); +void BS_Hd(int x, int y, int w, int h); +void BS_Shw(int x, int y, int v); + +// shnapshot // +void SnapShot(); + +#endif diff --git a/project/jni/application/lmarbles-1.0.8/src/gfx/board.bmp b/project/jni/application/lmarbles-1.0.8/src/gfx/board.bmp new file mode 100644 index 0000000000000000000000000000000000000000..34acc412368791d6ac5686a2be47e5174636c68a GIT binary patch literal 96518 zcmZ?rWvgUl00A~81_liV28I(13=9t#85kHDI6%S-4CRarLfi~sT*AP>0K&n+WeoQA zQ4IQe&J5NzVGLp6^$cmrix^y76B!&FV;Mq1su`S}6Bs-_GZ+%%XEB6Fv@q!FyD^j% zZ)5QD%VjV#4`isW*v+7zV921RX3n6fXv82dug{>SX2~Eet;HZIsm7qA>&&34V$NV{ z>c^m|WyheYY0DrZtIZ%TuEHQDrpO>At;rxSug4%Js=y#FuEbz$?8Pvl_Z&lHR0o5b zdn!YA)=CB|t6+wyQ*SUVT=;-t)$%6{tJl6@*t6$7gOQOZgPmO@LwDyHhK7d249d!8 z3|$?k7__w=7?v)5#L(Y=i6J$08H1>ZJj3~m-x!V`{lu_#?F)uoJKi!ZUi^q*|Dg{I zb7$RVxN_w?!}|5F7>*wP#86VWiQ&?v?+lwZy=ExPThCBky^p~^pn##S?jS>CR1brN zMIeKhcQ!+E!hD9nz!C-n19t`yVL67p>@^Hird(xs@ZcxIt=m5tjvxQR(9(3AVdBIq z46|q4WLPlw4#Ur%e;9uK`pfY7^B;zf@Bc8odi9&(|Ns9Cf!@YYy z84e!$#4vB(eTJR8-Z4bSOkk)i+sP0YHa#*MES-n{wE@b2Aj zhKCP-GKdJvFz{)bnwlC&${46JYcaAhGBZiah>40QDTyj6DM2VvaXE2uMMY70aR~_! z5|tAb6%iFz5(jZWa^gyIa&jPssHnJ{sECM?xSXh{xTv@|NK8TzOo~f@m4it+aXC4# zq>{L(lBl?nsGO3hsGOX*D9BI|aXBTBtb~fZ1O$kS%Yhi;5)#Vt5)yI}auSM);))7IEgr#H*n3);1w6qK)C7Gl|MMadvm6Sw8Mdd`5lpxlMgEWB+ z6qgVe5eESY36KZG#l^ukgG59{MMXqFZU(s%B&#SPA+9J6(hG5pxFT3qPFzt=TwF<9 z6l4R)Gayfhii#?Ui_0mAD1p4I0QZNegrWqP113ODkdRXpmynQ9RFsgAS5#D#kQ0{+ z=g<_i6crJXRApw?QuXyUkd)+=5fu>;0mX-is5rh=E)Ojs~bd7BsqzLT%`z#7Eow{+#mrWK*>i@0u*NwkoXXnkWiG910^&$u$f9q zN}wnJM+qo-LBb4_%EXoABvcf@=?G*1DC`wLNebi*P|zqUg5yI%LLBBjMHU7QS7Rv= z6B!v*Ur8BeMs`M385t>25hW=Z84(dtkVWG1a&mGKP(Oe@1#$)`{VPI*9r4oZHY zz?PGc068BNQXqRJAbfEpaXEPjP;!!xfO$h4><_RdqTqxjt|THZDlRGq3Mv%^aAE=* zr6jHhN=4v20rm&jU=X1Uu|`pmlaoQsm|Z|agP%u}N8L5T$kg9UgI!2cQk7RmQdLzF z45Y=F#KgqJgvEq~goVK(!jh6qV!|R~B4WZqVnRYf!a^d#Vj^NK7 z4+;r`M1@4a_Dcx~fjt58h@_;d7&xH7MhZ&`OY%wzNeYXB{3|3TDh_cvh!hhO78Vr} zk&;sddkEwakY7YZ#D#^Vq(G@bk)4^HLtRx%RU?2y-G|%9$HRk%hliaP>~>X2ur*+| zBq&tH#6*OIB*DTUXA6soF$s%_K%5Q|0NDq&Nk~jw2oz#MqC%h$1G@!8fG{}XM5I8b zGOL1OTny|FP}qn`3JVKMiGkcHA_VpaNCOD-2M9?COMwDI3M3112S`|4QbU~7ayQewiAAUBJNNs0-J2!oT3 zn3$xblrT6MK%xQU4iS)L!orA@266-_E`&tHBtbFG%q%Gh(h2gFq?n|bm>4*MK{2Qz z1PKywNN7k42}yxcEXV+eC7^H;2Pu&N)gKJ(>?|B&Vq(0E8UY$SKAJo{8ax^rT#~}7 z;IM-E1C%?2K~@S2gOZ%EFev1N#Uxch{*VG?0Z@E^`~h;gkdUybI5;jq@gW4tD9{`O zat0_(3JF8}A;2sN${G*?WQ2&67&sRS38@Ilg3S^E1&9_X)+IsV0TKh-1NMiIu#^y} z2oPsyXXoG&la%3QmXZ-OkaTi#$+x$+H|Jy43oKb}o(qGlLi)4002~9}EoaEbJWI9AFP{ z^MMTI-~d^|!o|+Q!ob18&cM#a%nQ;8!dzVJESwDN?CcECfB;d9?Ce|&;1n#OC?Tf= zlH>-ZD<&yn88I2Bu&@+2b8AO!uvTXJ-Kg7%wwBJIo(}Fwe1p+y(M4$RF&S3=AABkg(z4;9v(~E*2IJZVq-9 zE-rRSuv(B#E_QYU7IrQcPId+^c6LyVv$Gq3q8?m`C@P98iGWf9gP53zn52lX46lrf zn^TyZy}7w5A2%q*A^u=s;a~x!A8uAqQsCy}<7VLodxM>wfq{XY87v73NCtKWc5bju z%{?m^yaHOPl9Do#s?w5>8VXub35!XC%VLmsK=w;Q zid#^fAq*Qjt zl9Iw8e}Eh+1g`qPz7`S^l9B?2l$0<#13L=~*ne{3;xfXZ1kNBVBqqr$BB~@JqQxt~ zE3Ks^DG6%wfE+9-sVWSv`as1zsQy(|RTTrtf|^9aAg_ShTp+&)flGC;$s!<2g~UZc zO(al51X}J3gR>!)sI?{}BrFAvZcuaxNr{O`iHV5`NeYXIiHS)HgKIfCP@@cF zDyT^V@`sQxC^CgvxEWa3LE>Ucaw4E~#m>$kB_!;nDFbSYOKS;eX{oA8f+{<(XT&7M zz;z<1sU@w-tSSkK5>Q$IRq0}4;2IGW#308)VgO{ikdTnLxP+*};v!Na zpkf)6%rtyN#KlFGR5i4;!0jhc3lWqLKxTtl5YiwYXfcC?!Sax}0ykHLL5(6sP?FRFMF*%g!Yc_%KM?1t zN~-dL+9`&hCKoTr zM@U#oSW-wtOhi%&6d|DY6{zhGYA=g{Y64*?DY!pGg@i;wJpy4NaZv8$f|gf8QgU)4 zVoIQ5jSUp#VshegN+5rzs`B!xg3BvNE(gU1sEwh%kEG#C>&dJUX${$i9iZFk$gKQB~QdAU|lavAlIVe+rOFmF;=M@7r zOeIw%L8TQaroeH;%M0r8NP^P_sM`Uy64XZ&6$RyNc%~2)2gd~{ghBog5e9oySXfL1 z6!@U*AuJ*cYU6^Nx*#zzuzpa|5dsAbNEf)o6@eNA5|9!DmAhPEe@H3HiI|9hTP>h+ zL`obq1RyL0$`oLi3WG{0Xq2de(h{$#q!_5M0_71&RbEI-9@KmX*$1{#TvS9H><>_R zB?9Rw3JFPx!~7y71P*KwSVLb}L=4p1kP{Yyl(}GU2n!2=6D+uf0VhF_%Rxy7)IS49 zsE~-16g#L&1j&fWDT#=PfNFmhAt5<25phswTUbgKoG(DJq6&&-P!TIBrYa3iNRpDm zkj^fok`xB_KZHTm2q+1Fk`O2rNeF=g9hB!m-Vp+gNr;2HRpLTI;93Es0hGig#e}7# zq=Z4Wn~;t$jd-f$Ci-S4c`o4BTn~`$JqrNd%lfK;@N)umotp zMp#K0Y8}P<((=4Y*e?0*XozF)3kC)ekDJK#>J%SxAD)3^7p31NAOI`2*x!ArX*g zz$`EU%Gg|>@=8oxL`f9l4^VX^CMqTZ%CO*+1j-5^2ZO2!P%=^lcMv5dp+19nOH2~f zsRIQQD07I*$q5NbhzkjW%Pt`~A#ov5Q2rDWk`omIMHQ$p01Xs?QpoBpk%T5SRZ#v1cS9v5LB$Q&AEKf{;-KOe6yV@eOh_E; z4^ZY16#`WXAX`CwTu=mp910pc5e79nq(DspP<04OOj01tpqK^~;~Hu!gOU}vSOr%f;PeG4uRs-{sw$|#04|k5yR69!cf z!ootJNQ3GEQIg=EGN{W3YGHxW6|}q(5fKpuaalnAkW>{Fmyi$@2WM0p+X~bv2S*aPZ~+G*q>T$2!vZHzQ0#!3CEx}YIC+EWMj=paft&*_r9q=3!r-by zOcLZVF)6S=#DqaDERa7WL6V^G0o9&DLZaeAB9h?B36vT^F$Hos$R9#disB+7N}!%F z2grC~IdM5f32`A%wgzD_Nik5`k_5G>z(ZM}Mxr#RQKzb^Dh+CXfl5bE0169(@+~+Y zf~zlKaP|g`KY=i)+5(#o$~Yhg2njI>i>dO0b%Xo_D!)N(6cKO?gS-Rs2WXfHQkH`& z98jc!`~hm2fJ_qt)gSC!pz;gaE@5Y9-~`DCgT`d##brQMwe!OeFu5m1jtSPnGmCnYQb%3t7d7ce0SE-pY$2N@6RM+u368&vGf>RKRTqP$2{!Rsv-tNntrq#SCf>f)XPr zD#Sq^k%UDps0l2@&cV(Oa=5stxRQjp5~v;omsetP;tE0Xpp-8Ib|)xa#Kd?dc_qcf zR8^VT8JR)Dq@dIQDz%`Q1C)wIK$c2L34!`}!cw5L0BUW4ax|oI0;=X9i5ygnf=V;6 zW>C4vBqbsO@&_mqgg~ubQ0V~5=i(3_gG>ewgn^qRpx6Po`N81>%O6$}5=!FYBH*zA zP{AN3rw}AB5Ap)Y1`rL27f^pml2=QEi=ACn8q`Yz^`bzj3pBbY32vQ&+%5zfp#~MG zpxO>pJ_?C~8aAM;0*ViC4FD=mp#G2o4I+X94P+6h;t&G$06`v?5(2kzL2d=5Oc5bb zP{#%o5FqW)GDJv32-MkUlM)iQQUTAquro5SgX2R;E=WN^K?amHKs6tzh5*|mCaEec zCBUo2!2#;+g7PA$1P56UiW_jA76vCQNR}5CQn3QL0c0uI*Wkn;4r+;lN*_@11qvrn zEWjI{pjLsDl%%kjDr}e=WCA#UgNi7SA3#wFNoZgxAt52q03VmIu&A7f5@_xW%NJ@fAKyYFOaY2QKBxs&MN=R576a{cypbP@?2gC$W z0D)Mb_}~InGGZc1;^In-j126ILg0x6d3kXqP*w(2->M*gNQxQoN{Xp6iirtm@v3{V zvxCcEa1IAI5kXZsc+>+#fZQQ0EFvUfl>|x;;1mrS1_sw8pzI5G7brJ?;!~QLS(TYt z8eHFk4HXjs`9n-fSPnF>4st9g96&7q5E~Mmpqd}d0}bf1fI7iU;OSUqW(E#MDN!LQ zF;RJWQBhUU*a*D91!ZzcNk(3fKQuT3xIo1($OWK5YDrMp2#ybM#S1DwLEaG(QBeV9 z53oN(g+VP}akvk_sSBKw#3WT!nc28hK~VzAaG**ARI7ulLr^*ewdXsqXX1Xgd{IvNoHwYEiGvd z4h}{(khNfsfa*hV41fy}Q0EOa>HrEdDR43X$G$MAD++NtsN4iu51wBF)j5*Ps?3aB zTI^b?s^GREsNMsQw1bLZAtBJni4dqP0M%6>!-Rz({s0*Q#-Q;l29Qa@N=l*-e{icx zN-|2y$;*k0$_RmGg+O%(v#Kh1OkWr@X{g1{&f&)o_XjAaf~Utor7ftG1!Z|qKMrJr zFsK(TBnEC7f~MQRlVhO%2}n{1!~+eoNNTCFF>V*fElzvfRUfkkR2Kypezk)S%Jb0WTp@}ML}w82p^oVK{GsZ&|xZ2fhh*64?u|q zRBWrNvT<=SGJ?ZOL<-b|2UV+(**76!DbRcsGrN|wmL#afB_<>+Dl7@=q=AhG5nL?n zEDWI5za)63AC#{6R6+eaQP4~_C_PK6iioK)3or|SM|mVwd8Gvm8QGW(nVAJZ0}ZN@ zpnd_U_7xVD0yz&<<$+8F&A)&;7@+I{O4^|O400PNltG0uSPiHV3ra6yVybLhS^~_V zf<;IeG-(D(Uf|RZ3VkVINmXetE)6YJF)@RbFNY8$9|WEvX82C1|n`9N(Z^ z0dgbAPr{&CJYjIl1LSm276M_A2q=gkZ7)!hSyD`rosn69nO9m;4AhGPs|MABpqVOA z8&y?RgM*7pRZNI69UyN##ftzjYpq373xB@gv2#Pc@kT->e#Xw`^(vqrN92{Dbl44Sz z8Xn{YNnsICD1oA1N($88WdIMbgW^L(gpuErj~g_NtSX`;A}TMWq9Oz?us}sSD2IUR zK9HZ7c_j^0!5#tG4)O=cXi%jFGFJrLr51yZdq64|P+B zP;(uWSD2Z#7}>!hpa=ogT@ZhOCRT-og=HbZ1sZt(WeBi|pb-{OHv`m22ML1vrJ$-E zv}ysAdOKpDs*uDfCL}H;1)5s`1r`WPNwKrDfaVRv z#DtYV>w_5i`5Cyu7J-&{NC*jmk^^Yq3Y3Vz#jG4?Jd~N4ksag@P=qjp+P$FE0%-+- zmQM%^gBttb-WRBGC=ALKAOchdff`Sc;0Bkw-~tQO>jO9CKov5myaw9}5&>1i(vn)L zVxV-zr6nyXW&n1#IB4VnR9S-RTTso<&c(sP0vfd!76+{mV^n8k5CpfTK#Nwyg~9#+ zC2LhxP?f8yDk(0>%q-2!$jqk2tOfEI2!jSsK#3HbN5sJs67U!R&53|oHz4;z{Q-&; zP}c;c5H!LLa+xHkAuS2Y)u7cQprRNwoB?W@N=x%!PGcq!QvX3+(ag;!-t(ZV#WngPmK^YNLyo*YzGBPs@Ff+@5 z{UHNRTdJU552(EWYIcCe`5^%c?yQJGGd(zyfL1<$;ttd{2jvk^y#q-rpq{a$u&l7E zs*nt5fCjV{1e6H0*rh=c18NR|+yzd-p!OihZ1B(>C}o2C=UgnH%0*06PE=fkfsxUN z0o0>VRZ5S3;EHSj>e2}(hb_AO|M87RA`s!B7e@`^$HAqlDtLCs50lz==g4AKP7 z*Pu!ToN+;OOJF~NJOaurV5fs44%{1;l$2zGjAKahf(P-%K#72vQCeD63zWW8nLxn> zE*n)vK+{wpdn7^Sy_k>`BNsb62WWs>3bZy&l$(J8ls|;DWWn`06DX#^4K!6y6obqK zwM+$6K~wUIy}53VUdO&hR3Kur?RkO3&}z}^7G5ZD_K z0#q1+%Pmzb8Q?Kd2=Obs2;L`9qainpag4RF{B8nLs^JRV`^%Py-t@yaXCd z1C<#d!$C8lpfVa%fe3^02Ll&7X#JO%9B5q{HwOa)C&)39pz=ydQWdoFOPC3i=RiTF zstTHB1J!@3l487|f)Uyq1uV2Q~{d{t40yjufy6$SbO#dI;2H0JkPUF)b-62AY=8lIB&_ z(gGC-pn)1lp#TaK&`cXBA%j94lFvcoK2lP0iV|`X44?%t;NGvClDMc8GpN)6XM0Id zCj?Z!g6sqpAfWyy$TkoL=Lb+XPfAJ%G$sg2xZvh3Xm%DfdJdW%2e||qn&2D<8bE^P zc#xT@0@C1k1|?-s)QgFTsDg%=K%>W?G^HvjB&DjQswxX^xr53&&PXAp{x=1=$RmQv)?6KnVft4>3>z0(EFX$rV&BgIl!1;1(^YDhCZzFoB9W zkZv*1WC|#Of+{s|0S#&@@`C*VYMg=UDPd7@5l|?pN=ovA;z$+L#*tJN5(BkIM1?@< zOBmdU2gL?>evqGCR76Nj3_MQ{@&`L8g$RLGW-EdFvS6FVz$Lhpq$+5{7Zg0;QBtr) zs^HQJRE|R?m_Th+P_rGhfKL?MEdk|vkSU-51{DrslAv{=yrB95)aDTZ&j3LakeHaT zswy*R*j)tD)Rt5g2Ip>JNl^1%j!9J#9RHyB77+%wcR`CYK;wzL5<*hKOrVA5;tUKv z+zg* zAvrlA&@>Y`#6fvLQk55!P(hhaKpIr~2!Ol+4qC7@s3ZXoC98@E$q9ix#49GrBqky& z2{HmK1L_We+yu&5p!5nFC&dT38soDp*`3nB!bm=hKe1{K_3eV|@3sOFTG z)?#L7V^g8K@6ygAm4x%J_t)n%7Q9A5g{o_aC=8gOj;5YM+RWCKuuDaKr0#`>l&a7 zmq1lNcxV?~IDt|vcqmf})D%&b6k`GvcD%f*(yG#`?9A+J9Bf={%%I9n3^aERHWpM& zfr}>4;ExC>3P2Ttq!6fM2%2sb2F>QHs)BWa27o{Ve~=6)B?Vgi#{g<p=jY(!;82J712n@3 z>KBMff}6FVSO!N4C~iP&bikFVtdx)ts6=CD2Q7C2t*!;N&p@qE&;l$F7G~k(=H>>u ziCGFX)5*Zez`z1(5(`6zNkOSu612PoZBB7)n)@Syon3RaJ`_ z>`TzFn3xo(*k@DNrAirs^29gRiQn3W>sc3 zHZCp>4j*-O4$x8}(DEm+ZJ-bVwSB;YFw)Wjpa~t2$s!`4kzLRz9B9s76%-w+s**x- zpcDkI3nA@nAu-VERW(qbj#)}XL|lY{fq@GYACi)wJqw_D1JLx1v?Q+>C`3Ue2`FoV z1_VHzGpIM=g{K&3C==dX1WgkPfs(f**bSgg5i=tf2>AG@a~KLhG9Rdx11-ds2IVwR zgB{$?0=Kk&8=%i-UthRY+0*6alJYpmsWF)=pAdRR%P|!z=^N=%BfI5h)Qd zS!prQ@GgiesjA8@Evcm?DJLW*A_-1&psp0C#**aV=H^p_`a?uYgn@;H1GK(fQcM)I zT?v%iWI=fW!~k0ciWbmF3@D>9fkahR#Xw0M)aM2_7eTQgE-WG}Dg>$vAw?BrMWd>; zG_xur8^0DPN+iW)wNzC>+m^tsDNrR1%HJT5fCEQbQdLYy3N#rfDG7G9s)&%7Dl-VG+>!WfoBF$qQN6rz)umiBfPX788LK zzTjv9B{1;#A}BIINee`Shi$;a-r`c=R3^y;@`?<&;{h(M7#W$hw6wH91GK8V(xAo@ z*fdE{idU5e`2!SQVycp$Q7X{%y{fbjNKR5jN<@;KnNdKMT@{pHz(qBvQ4MB*{9!Bz z8tr5j5fKp<0k0|tRR>~9N}{lKA~*_#!3$}@^C6%N2*RM64ZH*k92t_*p#BkPB0v~a z_lbhS3S5(eV*@-ABnc{oK#{MdB`G8%3krBp$^|#jgqc7Rpi&9c0uu(!Wr1>qEkQ&Z(t4kla@4Su^)ID7O3+N3KKC<0K04=miVbjliU|uzi%F{T@iA!gsq#vzGD?94thhP& z__!s-7*!>~)3@NV8Z;XZ3KCG(2Cb_G8RV6`-ok5NP34t*)Xf-e>#el}O!7`xO1o=To7L;&BKt2HZ zA7r-{C@eu(Qc_Y5w1J45kI|S9G=Re_B_b{%$IZdb$1N!-qbex^+9oOu+DRoQED8=? za9ssT?5dKg(ET~!2m$r#K>h$_56}pikeIL(s6zvCJZSkfXbu3>MF9^Mg8LlcE)ggX zOG>JOmXLr=232Apmx1FAlvh+il0s5qB0^H2HKd?w9pp{WmMl<96XX@hq=lBGswy`h z10Nr#{mKlA4+(B=ZZ$rTYDpnc5pfY!X;2#K}p{@1Q~qtP12-P&oyv(ZK_i zV&FBBQlJhFs7WdbS{V-tZed|2a6$$rM=>!mRY_4c)Y50$MH!%1@vS0#>0a2C5Ii z4hJO-(3}8h1O>EQ8obV23pCiRDg*L~n52*}BWP8%FsKU)YDj?=!b*V}ilEXRq+LuE z6d|f&V$95p%pl)LOY-qCdV<>}s#2f^FSj5cs9FTYx00v~c-#jPf}jMe3YxkxU<5Tx zrKLf8{Xj7x2`cKrF$U^}gL>znh1#Gl6%(W~2m1p;K>PvP3kGV6g7cfO5P0Ya6q2CG zR%KQN_4Ii`5eAyVk^~L>frdhvKq636goH#?+1VLYB}JIoK}}6nW_D0M=i>v_q^eR< zVp3v!f_!{}AOj^uMMOnR!0mRBePW<;9+bgUK`8)axEQF+1A9aj)b)@O1Fz`@mu#SA ziJ%Y%SqmygK?ZXrUkoz7c@i) zT39BjDg_$90A&$ocCbG{LlU5D!3`P-RpnJ>W)=peLq0w}H8rq5K)n(0fCZ?bC@Ch! z3#u`|MU*P2fejkI0@X9%Bn2v=Kt2GK`yd)peSjlU72Ny-r7@7NK&m0`1Wk`hN(!rL z2?>J|IWM?YkONh-pz$?OXG2w*9n{VMWqko@c44{>?Tl#0Ph5VOnpGQf}oBx zY^epPMG0Nq3u1!QgFFH%6QE0G!K(~F{*Y8vHBc3k0Bz(2r6Lhfv7*HWDw05Dsel$c zJ7{wasIUZ$ehEu~k~y=gBr_wp|DdYH%+1Fw=mUypRVfoG5fN@aK2S1~R0VZ&MMOZQ z2rsBq1epsCUvPT_6d53wf%>GNUKwcKUrY?Lpa>oxpnL`)O{ibvdO#tx!qO77!^Z5l~?S z>Z?ggsxpFB>4BzdK_v+&p=yDKP(c%~jG)RBH0;YP2y!@R>9r)-AABG#sJp}q?pA?v z3aBgu`2!RakhU+VGzGg7)G-7lckp}`XfrT0GNeEw8Q{VitPw3w#tAYztkT+m!ctFh%P=*7QIUuis90UmmX;4^$ z91KckAm2+$t7=K}GBPtui-BqpP-6^KElDzg*OP$8kUlF zs5}Sl+K`qM5tfovWd@Z`e3G)DrBR~dA|ia6YTVqQnPg$`el>8K0#`Mlv<7tosLTOX zeBhNgOyDt5P>Kf^x*}5GG8dF+#6V-gkWMRT=mWGb0i+Yu1P2F)n4}D-cmkEU%%CPe zD0o4YJ}9q)!it?;8WdH`pk*gopq_`SDlZc#(yqFu* z`%vYT<^_-AfRFrI|sgUK+GN0#uNQiK&8y zp4qh6wLq0Ns4JBB>us|Ur z4cZO@t_Q_GD3FC^7}?pi7`3#(bHiG^T3TYN zpzUAa4My`rki3L~h&UeyA0Mj#Xc!vQ{}2JCCUC9? zZ#w|F8njjtG^Y%z!a=*TK*=05f(vRP3V}|R02RTY*awvWlAy^MW@hkc4J5mOLIAWE zjTh8P5S9@K)!@?7T3XD^TGCot>@wgD8p5D9sj4a?KQnZ|N|hJn50LL9K@lz{23nv5 zI$;7-4S^a}l9HUD6<3m=g|ZS7^5S5Ba5FPY3aEnnA5cGlhRejnBt=1v2KR13sRp!+ z6I|$m;sN9p&@L@8(7YOGp$@3c0;+VSC7D&VKqV5`Um*2h3?7vf7M20+t_2O#fjp}P zn(_yAl_BG<%xqks@PubkEl|@1yg?F_utBRD#DqYrGeG5ts+a*g2cM~`s*sqJgo=c` zI5#IZA9$El6?9sO5?Bq`Bv76bl>(KOpe_@5U8=aam@H_(0=#fc7}VJTSpb@*2F+uG zG=Mw;Dyl$jI%s@Agu$6z43yKsgHNE*PAx4hW_B%5IstW=L5(IxMo>m&1| zp!5ssc?t`Qi>rb*1%W2VK_eSdU=FCQ1)7xr)s>*~4V2dy*;GM!5yS<112m5V9#;dE z_d-HKGN7?U&`>%%XgnKKs)B6 z%&GzcppkP>Eyyb-2`Y<0)8e4PKG67zl#GltuaK}L*dL(gDOjTjs1^|u19eS6v(I8o z0-&%5#Tlp(3EF5V3>v8u0Ttw+{I3c+VSz~MF0)vgEl>g3WM4)s*=p0DM0~Vc79Ot2r6uO zK?z2cmzNjRmQj@ymJyPc;pLSQk^z_Tpe`V&g#b<~;6hDRRTVV9460=$LC3U!hDSlp z2c294T3{pz+N>w0YRb(a$R`OJp#U9_B&Vs)&CLgjSxHe55g`#!uM#x>0dgIvln|B@ z0!?2-JR>X#Dr7-Rf!68cP_+RXS^#BmaG4D18wr6%rB%U0L!i=1QcOUVSyP<@ysj10Gyr8_P}2Z3!3mlO z7M7F-Rpm^e%mC^Ef*cH*6@sKR(Bc3|Nik{ALLhMc2kI|^v$wFMh>(<+s<5P#l$az3 z2Rj3|q>zvlc%iEjH#<8Q8)$J8s6QyG1deOa3II^91lbLq;{_Gl;NS;&16=Gv`~eaN zO#pye*Wely6!xG-gQ|1{g9aBkzkos)+#C}D?W6+-4>%^kEm}rq&_aDsg(oQ_A_Db? zG_xvb%2-PalnI*_k`fW-W?^UHmJ}A2k`x7!o>wr0`i9l z$RD5_4yruB!QxQz=c0U#YEP$~p_0aVn1LSL0RQv;mMz|#WY zRtu;Lgm*%*8GY>N9$!2qg;B*6#l>1eC*af9rWR04HJz%0;65y(1eNoirouns8n zL5*He&IgUdfcfA&0*W+HnF;DeGlN%NgUcRv(Aqy}#7c^RTp=PR1)AJ~G(bSxi9kUH zYNBhggPXgcau&1@PL&wk}s)DvPXhFwaRoOw?EmfsKUQktK z)>4%f6Ose9;XwN)#6U;UfyS9Z#~*;!pop<^b2D&(=5e(|mE`5+`P9?|H3dM!GqR#` zBBGMa!m84|($bQWpph?7E&+|Uf$}FPvx4#hC@R3^G^jlSifYhY3)tVFzy(Kv0ccwX zs3Hb6e<9_S5F5xJps^4(0aZyx(7-0BtpXa61C_j>NKn;c2DNupRYCKKs?3sNB63o4 zpqwcr3L0?)FDC^X4@#wy!k}ZBxWwheLHnEKB^1@v)CBniBzbuyr9ta5gd~L_Yhgf6 z1}*vmEx{H7ojL%jEkHXPLA?o(KR}BrLD>ToNT7lmv_XLx6vE&*01*&hfUE`&cYy*x zl9>&ZgP2uedt^YmRJE8vwV|XcGb6~;Ag!Q1O`zBi6%vyK6%gPUmj*BAmIg2LlM-X$ zU|?Yv2Q9}J6<3g#2aWH7{2|FJ2O2+t9GeDeT?m7hzDkLJcRGR&7X@{T26gE`JylT2p$eKe0XY`rHc)jBNodTV zY9Uw96;--xw*k-R)LN@mC#nx2K$4ZQA$cgN*q+;N=kx0Ky<=f>)$~+P9zz88kTtZf${l0rCK-i2`cTNJ=t;yaCD_ zpcr9emH`cbs%iC;S!{D1MRi~^*uqYeQ=6m2K8K|RVB4RvjeI! zklsEh`-#bb`c0tP43tbkOB_JMa6&@t%m(cIV1IxPI+oMc)>hL7)xT`uX-{wp1+|hT z#Xy}VP;vq_a6$VGK~Vx3r~<_lX#WSexeoG)DjPE|Xr~^i4r60v1MLEpRAm+hbvi+< zR8>_OP}G1iC|*GO6Qx198Z;UKDw;sEGvJ|la8hHIhMyw_8Up|=9fhvbU1W)@y=>iWpUS1;Dj2vnnHKrID%_JE&I)ZhU}x+^XPpFQ6(DoPJDzhp(XuJrN zYUPn4Dv69#qURi$~^RY93l z6_hf5>ZVJAT2-K$5X=A_ zhRO`-!3lu!ssLy*NmZ2%G;R(WKLTY6X;n}U1JuQ02Kxh)$wB#p8MJ#0WFx2xDIyHY z^X#gU0-%afQdOE+K$TrfOITP;MobiR_7P~iBB&G=f~@QUtrukhjXZ+#hp0H8nvR+& zGibb31Qa2l_7HgK0mvVq@CP^8VJ#BSpdx6J4b;s9MGR>}pgKWI3)Bdf1a(Q71wb?P0-)4m2=<4hDtKlIR4Rcov4JYMHw$W! zv9p1SSdf=NgVJK4ZA+k)BaoVhosEr+k(rH=jg1YI(Q|YO;eeKgfR|$AijJ5L--A)c}+M zRhdEKTi{xanOT($l<+}LWQ1&_1g+%-H5foE^gzp81wiM(f||G>HK4&@W>D`CWS+E; zG$Xir0ZoOlG4iu9GO}xFfkwQgC1oU~rG;gsKt&~}&`?$7GX*aklT?)ko#3ye4XQvu zAq5^U0gX+7Oa$$kgtnc)W0s(iV~7vHo&+;Ntx0BnG0+qi$RD6JsvsYL3Mpm*c4h%) zMo9r?P-_-cL4&d~DEor)hbkKz8#q<5f$AGAP>%%Em;ntSF*B=5GqbTts)F{wYO!mv zgHj4OY=wknczI=oK+_B$e@LtH@dbScIdo9ZgP9Se7^Dr9Zb7{mHfBR<&`c0BsLckF0BaK#<^>JbgXS2(i(^#5 zrvQWc1I(cFOGLG`P1X27Wd>x~KFGPC-UFBh)xDr;Xi(Y$m6{-3;5rCoB}kPjGo!ks z9H^H8iX2d^GBd04s)80AGcz-@fl4UQ+G7z=a~f2CgHjN)sw(KX2dFlw(!3K!==yRy>1N*MYWUGBbnbow-44s8mJ7gCs;j{XsQG zkYZ4DD1qG%YDR++0mvVq1t*|<0(C5S*aej9L2;$3s>;r&B?=nx2X%)*{$OJRwWXLr z+k92oKyx0TWF{mGjv;2)@dzNtgS-VwAk3gPG8<@XyRZ6+oc`@)Z{sGkCWFXd%9; z7HC=@bhauuOhCB-)Vl)dfz*P`pmQKpL7gvEP>TX20ZwzE)k%zOs*IqSZjc}-V5Oy{ zL5HD%ibrP9YH@Z`K|VfkK9>gNa}hN)@VX^2(7IP85mAsIK!FeP2RkI;f=0tZSrxQq z3*-|}XBOlM@T3X2Ee%?#2U<_ctg31VnkZ8R4gX7uNool*GHQW)v7p8<8>kBiZdZYZ z+@Mhesy@KAI-?dNXvd2xBO@cbv=&GRG@J<9%>wG3s%lAVv1>_#4%z^@jG3KTivzUK z6*P?i+BYF00`i6?FQ{e#RVSk0b*-SlmE;8t9)MFaI7oOwl?FKdfQoQ%!jj|_1GVUQ zRVASVh0Lm|py_ZCP@hc%q(l@nya}pB1elo(*}#23kY_;kF=(F-Gc%}C1o;uvfdTo0 zjgirijUAQ{#DqlTgutu1K=r0?ITZV(jc%pt>964^R>TZ$kj5EO21~&NytKRzEWvn}DhzGdpNR5v&lj z1{=JN26UV*yB4@c1$$mnQi#`#mjisTgsO;=B4phXH?O3Oh_EQ=CK4onNb-Vuc8IpcWZu6%!Mrzz6ME&;sph0r?j+ zy(_}T%M9H}Br2{TA!-cDE~=73LSo_)isDKje}Godf|?<`yv&A-?4Xu4s5uTQPeJJl z)|&xMV}e`;8ZrV`@}T)BRV~oQOj%*jm<4EvA9Oi|n3$FpBNwO;0PQ%1_=62Jw!+2+ zaxlmY(C#BuMpZ^gjs(?zpnM1F%YgGMXx|uU2wO{)U5k+sT)2oyGO+WqGk```B*n#* zl_fywN>CMa*tndyxF~3;sTjB&02=%Q4fL^r`gh<~o}?;hw~&~yFl7BJ$U&eE6DZ$+ zN(M>L0JSQ(&k33#l@bC42WTy^n4}iFmKLai0owfwTJfQ(3L1Q51|Q!9jvE2c_#J4D zmkm@3gR+nos6hj^5WJZew8lq9Rg0ZXixp{%T|W(-;{ z3aYV1LCdi~g###2gZdVr;vcl63mg-m%m7MApw0)RMgi4NVCA6Z3TOd5sH#_0WtJ2c z0mm<>^DPcagOZ@hKya{wcjAFdHc))Pnk1mv5YU-Us?3aRT5KSNBA_-Ws9*y5L{dmx z9ApHOsupPA6f~VHEG8tv&cMsd2)dRl$wl)5FQK|A9??t>&Q zaBTt_@d9OT&3 zJ?PvIUUtw)Qo`aA^2%0xpmk*6TmioO3AFG8G!_WzV@UFffpRz`@q=bvKwEx6Eq+N* z{|!{7fV~5b4oPs)1MV(^MutItlh)GG5(P(?s+KgU?E-c`Xh05>OhN50aOwiJOF+dt z8$Y-mtO}aG7LpSJEd_#@DJ&`~25L8g`g$PS!OIqfgxI+mm_g(1qC(;l@)A~j>U`WB zpfs)uI)_CBv;+W@e871G(yjt~3A9QBe|4?2L$0##6qfYOpQ zlaP|6G-#ufENC?$uPkVB0yum@N83sBf)58{W)=Xo;6caju(2_+F*CBUL3+r-!eUzN zTA-C|lB%F>BcResLrYavL=-e?0XqFbNQi-(fgS7*&^avP%Al(wAjL5FHYZSq0@WAb zsu0w51(iCWiUU-GgR(YgR2t+Sa0?AIAOU880|L}N2QN*K2K7aSv1b<#8Z~f#L(S&kK}OL75tqnZcPFw6P3QcYu|FvLHCdU|khZY6C4? z2Ne$>2{BLyR~nQ%L49e^C?05a3}~f2=pX}Cb^&HKHdSd*mlf1`WMflh6yQ~5WCN!w za5W<>EzJvRaA|?YBSB||No(`$??H>OL3snT^Anu+RUxYrB|&qp zTGC>2;-aAQ?d3q5IY0xflB%+*?9!@ip!PUuh?k9xnUS4~4distR1~8hxI4}cDu~%7 zr5Ux@LA!21)hoE00NUy)Cj{DF2sx)(76~PFuSV4!WiGoI{ z!PiPjiAhR=j{_8v1g#xs0If$5l9N!7kOyt=gzPH1Eptt~qGqb8B z_)G$D)(4fNkRd}*wF;`#pqWOD8MMs?oc+Or|LmYV0*VGRN(0UlJ9R27i}9sdOiRM5Dhn4~1+Vk#+i zc3uW{(EPcO66hW|&?PINZ7rbV0l?SZse)>MX&EswSx_wk_6R6Nfo60;Q3EP-!PNlB zAD}f0AVE;7Wd==Sfa46bDV7&hgKJ5Hjtv2gXiG^-@@jz+tCkicXkM0)A5=hr8joC{ z&N>&nDl;R$DnCCzcx5|i8!KoDv6dKUv8o*CtXk0g4QO{B$RD7EY$Boz>>Lbi;^5`5 zpoL^0e{h2nhZ3k`3u?ftva@SR3WIuHp!O7~u!njCdNtgmcT$NPbrW;RHZ@w&|+ug=VD|74YYwWI3pt$JF@^IBWR;KBNrPN z8^|A^EfiXkVlv>H5J0O$!38I1&jx4=UP?@ipMjf!8RQRH&;^1L+#Gz|kWp{&x+PFu zrOL?84)O=cv7q)X$hpwe11c6l!l0!sV5O?elG4net_FB`2oxQlcmnl#cqOH^qy<2W zLP1?f5lJz2c1dYzX?D=kbuC6NMmByn(7CJ3Y;63DY+8)Gs*KERT>PMJ6c-mG7wF_s zP(cFPbqKD;KnV*}yFwO)Nr{OuGH`IQi;GB0GJ(daB|zma2e=555)qY>(gMvVF*1Ti zIzhwXs;Z#n&#K_~0C&Ved5@V{3)D9P5B`JJSTPEKvks^!04jSyWhT3pmb93#G}s@Y z>Jrr7F=SU|*J5X9)B=r#a53`pvw@B)1w{fgn<^t{E{Khhiyh<#E=Dd!(AH0gM?mcf z&}b7V@q)@n&{b$+;Q3lE2GG2hv^eM{0MK@HZqUh(s-WHIQjDN>4L7p; z4%i={Is#lmfl5Y*Cz(NmpwghdFQ6y^tpo=x{8Ci~U6858D=i}+06uLBw6+k`Yu5sg zgJ`jHv9ob;f&9V9%*+Ok4`w!IHhxec%*e&Y!Oz9Ws0teD1#N_ft=9n+zM$F`)Vctz z!V+U=<^mtcpsFe^AucBY+E)Zx@52i^2U0`?G_=GHzD<#tQ9uARs{=|^pmRGxIUY32 zp$b~H2Tog{E;bj41)3TF)s&KwvLc{^LBUB&OO{<)N>!3q78IVKrAn%dT8zwwTwLs+ zJ~$&g7Z)RF4?)3pWcWWAlQJ*%pWSLk!{%(0O*CRvWt(v^xzNe*#ThgOVPoqJxYPfVNYEw)%il zAZUk>Dld354QPcC$SN^jRV{X5(4uY7r6{0T7f@G~ol$_-kc|uEMpZ_BM$jT~0cI|K zMo`@F^Mm}s4+eg00_>pp)&i|?kQ4${&7d{{C@p{t2Q_NN#3b24>&QUP%l|k0J5?kl#M~D7}9+MO>Z$$$p(WF)y5*_lBD35;A^0?f?3yzKmp?9!m5%f-wH$}1obFoFoM zhg3n{7X#%*Rbgo@cF-&lWakvPP6MZ3Ne*rXZZ%#|GLsV(m5|^Ac?9H2&^Wb}6euTx z?h^xr2e=CdvJ0HFKwbw8BZGQtpqVj{9#zmx3n&wTiZf6{9&{QccvX>@7-+~Bv`&DR zS5-ijor{Z$4K!)a#>EJ_0u*#^18CkrKvh71k&z4H0Z^g>d4r1)R6>b}$$}7g7&t6hR+Q_>4_1P>p)$8 zEk;HyMn=%8US0uqXheWA3O^UW7QZU!h%?YMx3I7@XdNb~fP@@-CkdL1LYHW)siHOK4g4R>>f%`=ue@KBE1#FJwE}MlOCX zcF^DwC}M?#Ku2$ZD?m^i0ptr%cMdWoChgCsscjBE`CCLuTtpn|4@p(fyqbsY4p37SJj(@M zod{aF2~OppxQ0|C+%#5nSTI}r1jG#yX#VKek zoEgjq^%_9g9aNY@eFkc(gJ$%=Ws4-p9|EAkQEE50clWf1_cnPdK3d4bR`7o zdw~Wnd8K)IdD-|GRe2fNg%yNAbBvJt2ZTgH^X1T{2&i@frDM>>I`F=0Nzgo}rYSEd zRwcycL`1;*AVEP6sz1axJRpMvm_dzrP(lOiQI!U* zTL;BBsKf%*c%TU=(9EV5XsMu(B(tgjuYmygU}(@}06P~is5>nrCCm)E$XAk=msgrs zQX15RXA)qS7FQ7x1_cA?>|`m>d1{iN zjGVZVoV+|Jhl5uDgYp6>bA#4KgEvrunxvqtFUc*)?eD6pD#k0Rq$HuF#K$4XCuj&- zL;5h`Mr1&nbU}`0*8*n-h(A<88}32tq99yJF;xLc z@D@8zF{~;o%nPbN3_y7Rlt~Pk`MDUigk?m9K>bo?&`urDmKRk4RYNv5P!^Y#W)cz= zSCNNwpF!>gl_{Y0VBqKm9lI_GF4Dy$HTk&x1yu#a#CU~37pQ~o;p8&}mChnkQeq+k z%%CY&P=^FGkIc*rnowZ_k8yz4+=4o)T3lMfpyUe55ul&~4ZVXxNfK0{gHsu}zo;dw z3ObVjPhP%X;L1{#Ky78Vj#WdwCU#6U+-fYuO#V;+%eK z2IH0HHIM;$M}U`EKtMpiP*qh}P88Jr16c;DBtfU+f@%&nW-U;=NJI#9LO93^;L-{d zG_Y;~XqXTbe#~N$9DLk@g1o#;lHhwY#6jDmv>8Etaw%R7Uny`*NHT)f+p{yPs`GkcjG%Q@jH>MHk|I)|ITg^sLEyRx(uW5Pqky&ogE|_ZV}L*o1fBH;*;3BS%L_Us zK~;cP02C>Ps?5T2!iJzTmIbuHGY6o_f6&ka8yhp|ep_K7A@C}4P%8`EMhC?Vs3iqj z45tcNI4&m1z{kz!$;-_PD%pvo*P1zwlItIEaB2pVN)g!ZdIL!<0mk|2M8mZF2oaYzpkv_@2t7j#G(DD*%< zB*wr88er#@JLz&5&(HdN>U1RbO;AK=%j5`RnW90 z=o&^w(7Fmxtq5wCfC^nuh=GorM1}a}b=a)$eiGy|yfktB?u>e^=2AU`Ym4BeYUP(zYe@#A3 zO)*|xCTS(m22NuO(7tUpNmW%*aZ!13RYq`IOO;s_G}Hk)>On|UjG2oIl;g!znHja% z8M*k`L38w=L?8fN7XoVGs)8DQlA!%LV1KYNf~sZEv?sU>U}j`w762{N0CjNKB*7U4 zG++W69|5%v!HZ%*i-i~&870NVWkIX@L3bR20tnQ30;Ms~T?b-fl3Jh)DkjFw$LFaD zs%)7=m6Sw;z{@nUjl@9y5EmC!1+PZ{7owmcYatOSF(EN#E`D}qRWTt|X;7648e{^6 z9mq4F(hyXMfUEJ}IXE=cVEzD| z2LQTsnvW0EP81at6$QlysAUeS@tD~`qdt<7l3M&+TFhc{pv75Qs?7XcTA*G$Bd8Jv zDFgdMOhg#GU|I~caT_!_#>S|{#>FL|We6I51NnoC8MHl~oe^~I0%$RY0BGf$fB@(` zKhOdtMpXgu0y1_+b}>U36BKH~ zp!q0JeGcl-gARXWWC!(O4GlqOpCuGB9N1Vq^w&SV1G*lEUoFTGFC& zDxe8pNWK6W4yvO-mrjU?2up$Qpyg$f}OsthwTuOTC-+SUS%b%XP{v;fFVNdr*d1{AN1j9Sv5rajmr;MiaS7lh!8KtzOv zz?~Rg0bW&ZZf;FJQ1!(Gx?n<)gN2)$1GL6b6*ev^DGr+T28Ak{7CUI$K4@{BDrmKb zh$JH$J7^V{78@gIG?SSToEyLw{DHc+pb{8VM1WEdXmE;IRalyfT~$>J)DZ_IT~%h# zumV39yR(vIncN$1L*V+(0GXmXns&iULIVTse*21U}V+;&8Vn? z3Qr*^NzhO~C{2OND$r~zXht10We93mOM~u|gXjeHPe9FVRbeTpKO}iUH8-duz|71K zx@#VEmMwVO1nAaZkU!Wp7(olyLCI4{9JKXU6m-ubsGtI4(CrUGO7fs3kgY>iHJ*ysH(~e$%{i=13JkJv~dh{$rET@w~(YNXxNF7 zk&)RD)QkX)Z-FXM@T@I3Nr5iw1w{rpX{jTwMIB;K3b6&{zg&r~*{a zOG~nGv9WV;X$eWHib;v6vJ3D^OUsCef)-H=i;Ig3iOXBb3kk`94j~YN^tPFqLF+69 z`9M_;$RDCoAb)UxbC@{jf&(FOIZ;p{2ntYkMoDJS6f5Y^DRu#7cF>|=ets@44J|Me z+$I5aL_qBY@O}+Y%LG*DgHCB+WRwP-EFjFQCC#MDuByezrNPY1#l^u69(ChlmsDkE zV*?FYGph=y@^kU?vvX<5fG$}Q5o71&Rn?Ma5(6I>Ev_OjE-r7SA|oTs1nNjiYcPVw z#|4!2#cZHGT#W3@?2O>4 z2{zE=1UqQTo)NSU6I=>`mXm;6D4_15s+cTjjsR3ks&c7H@p6IYEw!}RK|Mim<;~8; z@5jZ(4r-|}vNJM*hD|~K;NlXH2A>}z#t7;LgUUWoB!ezp5)~Jf5|)XbP%n zt8z&ifCfmUghBmU&@s=Fpy79MQ5n!_<*KUSRt9MDOp6_KtBfl6t{N?NP$Fhz=K>X+ zpvf=L%mKJ~0#$RM3P%hyK_Uqnyap{DV`OI5k`dT3KLeGyAZ^f+ikX?6Q5956gHC4<w4+Q~Kw8sSO-+qaLt2_yR7zL` zw0;+Iej>97=uApbF{!EwS``mk^aaWqTHv-4sAOVhWaH-ond!#`N>`v608p;r1#S2R zc>^?80}5VHl2R35)Dn>9Rh1Ug;sQ;*GBO%6Ga711N;5MGfEoj!X=l*fGb1xIsQbas z$j=3u$l+oG4ev66JAt6Hy+OqdvnnVx3xEgZ85!Am83lL+m<@P6HI3D@89@ggiAqU{ zfZ_vmzK^6Tvy_aOuoUF{3SrQIh$Q&77iMB6F1iEh>WIL#R51Qly%`gan;*5=r8PvrGEsAs1)b!M02bAd*An0Zw}{bF9wk}*)bhKrG(i;IgL)PrJV1I_k;3J`wK z%05uOlU8L0MLj#nd!Q*GUS2j(j6nRsD-AjiSyND(kx`3_T~r3)4`ya&&{gVU?4YIb zpixp)NiFc{Pt07PHRhnW$V$S6QO5mU^gY2Lr1FrJHUI2||NrLvRNiwQ}CUHTl zQiLQy&Sh5xb?LPP7#StS3_yd2pfOTVCgIXj<>%K@W#<(WlMw(-RUS3{CP=xTaGlP!*<&_lU=HL+2=3->$;t-V)mJ$P1Cu*Qljade?PyjUh!K?+I zx&sX;u(2_Ma*P%`s3!^vR4y(qP+Fl671+=ab)B*&RSfB-vpn^^SwBATeRf`ui zm?RT*9ZMu;!?{n$Z1WCqX2fGZeKgBMiPgO!6a3}|ViB%=VRM+vGx zwWPJU*tEE~WVuv%K_w4p4FDUX7C%3mG#5XYsun+}G~wXq0$)Z4&h*mkT#Rg7jBKE# z58#bt(x57gi=Pd29=;^_UI14<0Y)uGE)f%9F)=kz@daAkswE~RCL;wpp-mMu{Q>H9 zvRSBu_ppeGf!chkVq&~npft)4T0Q}qSpbc@gA)`amw^2N>W6?v5yey)nRx}6CBUW@f^|!ZM(Jte`Dbpz&?c5v!nnm?)SbDk3GN z1Ui{nR76xOv+43Ow!Cu1hn)+M9K{0V__*NDKRs!ao}RsOxR2qbflJ)jEsn= zh?I=Q6&*EkfTgQgoRB&M~;b#ib#p5GOHS>N-3F$nQ4Rk0b1I{ zZU(A9q=co!ghiypOr)fQMTDh9epaZZ#wR#~bJ3pof`-WLlIFakn1HuCoY)@OUVREN(qBvNLX0X zL`+0P%EUy;L`FtNM9M@&R74zfsTC;5lt58$0;(!Zgrz_?$ta48ib;V6o>hfKrKE(_ z_|&xdm_g;68R(!+anQ9Dpus%Qu3=D|h=F!Tii(PefG?gA1H~;U$$`=Uc!7|VsJJNT zFUINolDvsxnJ~X3RnU-~;Wc zU}IyHR#jzERTYo{pW_JL_6Azp#l|ejD=96_s0tcV2SpqgsCNPyN&^*apza`O7c*$k z6MUvOq*`QW6cEq?71CO~pavE@xIqi5NkHqe`N8EWsM!cAsnq@a82tGCz(cNFT%c81 zhKz=chLX&FpiU>KwF+uwfsUS$mIjR{L5AI#RaJ#Sn zXc!ti;NtB22G`aM|wd+ z4qW{FTC(h1()=9I?i0A}3);f~+E&O0x^o898{uMO^y63MQDx^c1Vtg}o^k;;P+Omk z9aPbS+G>)Z1Ao9{r_!K{-NYotm_b!9IHp8E=WK(P0T_cOkr^2orMW=8cr8$G7Sx0Q zH_r=t2jrh4Z)P1sjvVGLK z*qA|%0nbl@?(b0r9lpv8x)=#+AZX_~Xx$9R2ker}TGF7URjSgU@hW~sP_hMON>GXe zwL!pZ;n@%#CSoM)PVZ6q9Pm|+}sSH&8MJd64*gnprJ|d!W>2}E?s9`eFy6>Yik=DeO+x` z9nh{~9aBD2H8nNR#y4$kKG42n(B4W8K5ag2KJYd^K5jK_K0a+V(2*kCf~L;S&Y)8V z)c8#KI6V0@jX^SMpmu}~2<z_YB7ktfjh2Q6t~X)RSrX{bN+t!><_ ztwH|K(bd(~=F>Jc)mBqe11;Rr)&{K$G*#mUTL)r;+s}Mz;A2rt)wH$2{s3)8*4E|| zVc_64n z{stPm2K9MCXXAqpu8=kX75FR+3@jjjfCg|uv*VzVK~-rXSuHI|b}mK@U430=J$)M+ zYX^`&v~_iLK`sPE2gvQ*e5M>6>L90sPn`pez3_qK%G4BeoCv6`z{eu!tfQ@MY|O{U z$HF40rUs5IZU!|zJ{?e)sA;Nsdg|zCYYRF%>zI0KYI5`W^BJqDY3rDpI_o&=sBv(! zfQ}O7W&ryGJdOeymlp%gt4M+d*kJzP;07Ig2bKdhO2FG3g@izZG>pt#y5Zrv+7|jY zpme3LYp$!St7{614sA7U(7^(Hd<X69b(J03NpnEuaAvPpY7LP()aY0d$cGDC2+@DuWLB6%vvKoiYrX6=h`S z($x*q=F`;HchI-dcL4c9*IW=3*xG8^te~Zh+zedo?A&~Upy6(A1_o|EQ$ABusJlV& z#K-N!0QCnb9jfU-a*a0V5)y4=U2ao@HBWz6O&x7ew$ahiHPv<2 z)zRbzooEjB2q=q#R=h*}Atfd$zz)jLpnHDI#26SjxcNXwB|;7!11<9s5tbAKErc>u zW#l93b<6X5XU;Nao_bqM&mK%3}5bA#X%2pUHQmw}+508It5i-F2KP`M7i=?*k` z2%5l_W@ZP~+LRETAoB!r;+)(0v6WAWsR234?BO z0=4-?Koto;2Y5`@5Y%$uVrOJ$2Ooa}*;}Lv3M$Y-ZqPCi&{3+O-D#kaQY~h7W?n4~ zQ0)g=?FyQD108L`58hM+-e$)R+JwW%52~8@`T03Oy-ZMSK)UpxrMuvDYm(gDEP=ej zpsh~ec`4A$p)jbq2WoGD?v)V{W#I%}BMz$Tg@nXGSD6b5i->`S^uR~ms)C#Fpga#U znH@Ah3mO&W0xh=(ZTkU5wWKhpDFa&j0iN{-9RLF^D#$AXFI{ z`9X<@QHz<83$$JkG%yAlN?_w+1MQ|@!W*y8x)l2DLaC*;N_2 z*g;VRYUzU3Gk^va85u#1OGZWkW-UoERaIUs@FFeH;l~UtT9N{wj0`^54RRPIIGcm^ z(aXtmFmNz{wnYky3Q2&ke+3<=1S;M@^Z)FOW}se!mNYwPX#zhNsHFc)rVCRAk z<_BdBEzpu9&{1OGGrT|(TA)#1UZ_7n2l8@B3khq1M)pC;9yGQKYQuq=DWKyeKuL?A zjf;z!Q2;cI0lMN3GzY{B>bUYs3xG;(Zcr`+RS%$;0Ou3XLIG9qxd!6$+$N?cqPl!V!}xFGSt2AYQkIUO{-qY6q$pk66>Q#1JR7tlgFcF^1+C|e6K z8fs~1fELMsm+gVpb%8nwptU9Jpc!d!e1P^9fVQuJdj*or{Gc%*P+L)zSxZ`)Q9z8> z05rS72d+Or`5ctRL4_8$z!wt(?Msyx)Hc@^1YHLrBrGZ_E(E$E8In_lKqab{l$eyb z1n9^Z0nkVyJHHki7bvNKPTK+32T*^2*q~kwXz&qy1_8*C%%Hs#jH=RF8lZUzHhxfc z0Ilx=7c!uoX`to)pxHUlK0R6%rB!9d{)J+M})|B_$>BtI90Et0g9>$_=W}#lXFONiiYN z9cW@gkc+Z}L`9Y5<>i$lU5XN%cr>ITJ`n~VH3hoXKn%1s545OPN>mOsc`gmQ)Dg6c z5!90bZEge~rV5^M5t9O~t^@6Q0=24n#ZatJNR=6Gga0Y)}9$f9P@ z_$nJe8>oK`8k_)U4t{=S(7Y~aQ7vf43#ij54Z46sKucAXPm_V01GH6FNJ3vj zaRwJ^p#A^ClESi*VgkINa|l4WKui*J+aPGY3Y#<|8#@~#JC_!_7HBJ!w5lY?AD~GC zHc-4WGV}9;uJZw@0k2ju8B<`E2Ax|5szbn+uYmj^1U>^DbWSK}FC^&T zI#E$^Q3ZKrc@zqLQrNksv*?AcmL5nCERoOK_E0#dZtw1eAW>7W3r6ny1ay%n=h7+`@6I8{6 z76yRsjRUo4Kq(ot_XKp^i3U3#H#Y}2=;B&%TnI^k4%GztLtIo`TvT2`MMZ&++tl7k z)1RM*19XETD7}C%$ho4Ra|Xph9s!TutGw@qH?0*;&KWK3MwkxntY}%n*KaI9L%5$1o9}T z7yx+$6b)d1fX=!DUDXCEro=^sM5RPUg+xV#gk&To!Ly!R0U8<_(x7I!sw!mX2x#4< zlqzUE3p7opp$e*jcm=dT+k@G84cYj)KsUm%GctnC0{~Tf;Mf4Q(m~~%6lmut$OoVz z8nhlkgG-Q4lY<46U?hcvq(E*1v4w>|3$?)hPyp@QHnmd^;Njuc03Cn{YO;gRLj?uD zun=gO3MgHP35$q}gY*l7+QdSl!b0MpRV<*rH(Y*PT-gB{0pQysR8_S=ON&7ZslKq!}8d{(p2Rmrz2xz`jOi~=Y{#IB_ zl3fE1)2s0%}23;mR&OnOA2d&PIUpT8xr7E zRTVHa)#d~F1JbVm6*QpSDI}vJF0LppVPz#RFVDcqz^$&OrQzkl%?vuN6C5F+D-uBw zA_PA4M;?-6b|QovaxHavVm8~fEI3o)}RUqfc9yqg3gfzA19zC z&1(R<=aW~^!ordTQn`V;N}#1#pq8K#D4U9cydlrP&cMJe$t%OiAHdI{!7K?r^b4Ge zK*uWx%gf2j%Y&Q^@(bwTNU%*bs1OF-6bl}i z6_Wz(*MJ-c5Ap|SLKZa2%?w)14C>W_mS=16Q!m3gpU^yjtK@ zy`aOyLEFiA15~B8K+PG@v3Q_mSL~p2j8O};BpI}Mo}UeJ%#tcI8)!=~Gia-nurM!Z zy_G6xt^>3#oP&Xdfe}>B2#JDfI8Y4+DlkEDA|xdtA)ye&&d9*PA}PtstKs9%6TlMy zN?V|m1)6%2=9QKc2m3=DoRmNb6WrMXMTLyCq@*l(?J%e<%%Sd)9l*t11-e^P z5_Fuhn53kLuoN!`I1_;mvyucim_d7AK`mW&HqgOKpmPC0gZQBFcTi!=Y{;m}C@CZh z@&|YuFsSRtz|IdkBnni0fJ-VNQ2GX?E>OLwC@v9X#mLCW06IoWQcK-GAi#$QbaxwM z_yjyyAO~7q2I?(}h|7r!iHU%c7%06+g7zv(g3iGJbzhmeI5adlxVSjfIsEv!*cn09 z2k7n`aIcM519WK`=o~1}CVobKMs_XGj6P^?RaKQA)Y||ZB*V-M+Iz1ts2nI+LE5}hauV`#iXeZ0?xPo$R5jG#4&c`0W)ENo-_!@v z2HLbJ0V;5%Ko>5Ff|>$CpsQLzWvH;07CY#0DNw(Pk&A;vLz0a{T|JwhpNknZ#wrO4 z22gPFYJe7jgZv>W$p~6E3tC;n4C+-fYN>)2rh)czgHK(8_(PQmbo{Ug=-eeSG0?H` zLc&4}jEo$Nl42qtKS_ZKUO8~z6_n$_b+xECBQFC71E{JOmK4z7;nDQg)Zhrv03{4b zF=25bc?od|32>zYT7L?P81U`ppv6|8o#E2pHDr>KT3p=R9Mb$gn%UW)wi75KBte%k zfz09601fYhrczZwyNN(GxTGv7K0sHoaDh5Cpt%ar&N$E#B31BQE9kr%&~83qVJRU{ zw}ZjQhl3H6Z9yIZWe#xi0DD772viq}L-GfxrjykI)#~1^n*KZiTGEoB6Lvux?ZrV? zA%F%O!7UQd0Y}1+`*^h2L8oGXMpaa$4K;W;IQT&s#1FKd5>z^Y`~e;r;MEcnkpj)} zff|0GMhP1uXb1zeR3BWcgD&*}Eu#})2Hj=`ZjOKkiov5hpu!0>h{M3Zz`+P=R)8us zP~Q%;)ef|@7vvQQMMViYMrLq62aVzIvTN{ocnf-Ka`UijfCh_%MTEp9B*evqRpI^+ z2c<1ZEzmJlpphO%ElDxZ#IA;hmxdu1mliu0=pYF#@DgiLVep0ZlDxc9qC%3YTHqsM zr9sE@F^UQa%do40uFPU*1Z~&>uNnlUJkWYvkWWA>^Tj|#9;huSBqYShzz8aLK@C-C z1tu!4A^~bt2nmTw$SEqyF)}i6Fn~HrlB&E~8eWGDZ0uUXLhPUhA*k*EAFTr#G6ZEXDR9Xo1RjfGXJ=$!2KBi? zJqA!F5CW$Za6Kq2FCif=$H>SHx?c@ccB-msX>oXYL`Hb<@bL3{X$eRQ3rmQLOGtpu z5d?R2K{-rFh*1D^z^n#n6DhkE7rUXBA(w`RmKHw;2WYGfwA~j}nW{>Hc1%fWu}cbp zN>OIe>NL=>6zB#|(5#87B)cjzXbGl_5F=;-Hu#29a2W?G9HgW`vlyVDlM|8>5(2fJ z*g>r!P;m?DO$!T)ib{a`LPA19pnLn|82P#ROjSWi1)L2T4b=q&xiuL1H8czbcqN6! zCB)?=Kmh>BaYCRHOH}}rxivsV4QM&9s+JaLW<-mhAGBl~bU+WJJO*vYSCx_m)oDWD zl@J=B_6W1I7_YRdu#l9bB%>sFd9$z(cx?x0jlHB8s4*icDJB9sV@U`+mL?=DBP0ZB z%|iSEaSP~9HzCkI9C2}R31v`xFz|!Vdj)#}v>IAKgNNH+!%#y*1Kf}Ro$03xPKKbc z0b%f!bCOzGh8mEQVYDQ*xO})Y1VH0kph*r!&^0~MVv@XC!dzUS`E5`G6|`v+lylhF zK>h$NBnQ<(lB%Eya!Dc3B1h1a3Fw3=(15F?m@w#0QIJE0`S?JGYk>N8s-OuTL%)Ck@TL;b25`{bGYa6|1}JNR z`~m8ji-G+CTB66u2-3h0|S>ZXji5%s0aY9J_Pv##6^W9KpjDGP-z9~0DuM}AXjUuva@M1 z8iGn4DJ@X$;L-w}#SY#Y1=^S_Eh!+SDk&r<1zxBG8KDBNLXZ{{7L#TIow_L`B@Ei! zCjjw>swk)mR0Um!0UG5I6_W$qb|@*y&B4IJ1-_39ylD!w`Vcg}3n>dEBqSu{z;pLn zT3VoElfku{DyTCet)-{`O$ zrTF0P1!zPQ6d=-C?9!kSIvFWRcF-CU@S1jJ&|y7H%#y;A?4XtNl2V|Iq6#|69+Wdc zj%Aw_2e6IgFB^xf;-} z573+&WOe|w-&=rJ3v?bns5J_jL;+3L@JjN6Crm)y4^?Ji(ESX|;Moq4N5Jzm;Qh_u zG9GkQ6ey*EW}85@HE5L~Xv$JdObRpr1TGDPKq+65ffH2jf^H50wben#Zh-nNl9Ieq zG6IaMj6$G813m4fr76(PO<^HW?I#YsX-id-8&vR0fi80f4Yz~#8i9&VP>C)C>etGP zi?eewuz;^&0{H_pMGJ1&h=~ac@k*(xY6yXDl>)^FxbPN|1E(xdX$RVb1@ecgv=(@R z+z_-!PzyBMDJ=0oB}~CX*xw0~ZSyC^txfx)_k;1R6yH`3BTKmk?)XU|{D2IaEjl zlvKcT0m5RUVq!vKVloDdAb-e-fo3~FT0kvjP-Oyc*MJ69KpV@n!1EiR^8}?qalAp(jlAGm!7dCMfB-j&g+a*=wEGZLV2Bwo ziV6#X)|Y~XK|@&Jc?6J`gg{3&gN~YfEU~v zVFs;K0FBp53WG*+z%JI36lMa)4X6nTnnwbOf^KaCM}`cjFafo(3IT$!OSU~Y1 zBn8Uh5Pt|mreeVUkN^$)uz->yqyZ%?1};~ngv3C%{K=?_3JZ(K$%uj5yTYIbC+HMw zus=X~34DJgs6WLl4L&Izv;+~fC0mu99ds6nDmxo9FE3;>C#Z=CI!8+w;tvtfstQn? zfSS2ljH;m1u|R!TVPVjev8WKp&B9Wk{usDF#lp_X#R8s$k`e=@EU-sFia=RLQ9@Bp z5!8}o07V7VAD~$Q5K~M@NLWlNP!zNuG?14UlwpLyy2ZsI*$cc@05re}TK~fgYSn15 zvoV8CI0tRF2cKXLnwaGkkY)p2)(6@m4C?iP7J`Y1Nr{3s_Dg~ey9Zxw44RMwWerdQ z7Y1!`0#)0fVSdoijhL7)=yqCA{UHoW?x4MSQlJz98U_#(5>r%^5Le`4XJB9u25rOz zHTS{h2!Ygqye26nBMRzk1%hrW2KA0XiB?=3)XV{Ab4e*_&kBK@`BcgfV$tH!9vjf5OCoSs{TM}A2jQ$r3yMi8eDaNtOYL$0d?X) zjTg}78Zj}@syz-V(4+>aa|=#?;2aD(e^g9SPC{Icor{A3G@=4>CU_tb6tkf01DY%m z=9QC^kdO;hH2_WJ2!VS2pneTFLO@;?k_64hfOhvWtFmhtva^8`7HIn-=+t*m{Qx=v zju~_;FlcKp=t2_E#T%d`E)Lyw0QRh^qyT8t5LC#38jzrB0F+NbIRu=B!R>YyPz4BD zP!5VXP#*;pXQ10Q6~*Pmdpk*6epiUGc_}ULpwgw#+ z0PzR7=M5fL1CN)2qFY!L+)xLPyo1sg1cNPrL<^{6E(+?3gJOjRbXydtk_3e|xCJE% zx)B!aGtfpH#}eOh`yVTvSd1v~xxZ)Sv@Tu!E&QjULd7 zO;D)|x&nq-O9Qf*8Pt^m)zF|k&8(`$%gf6PI_?YH=?0A-fYKz?A0VfLm&t&92;zXl z20RiCQXvQFwt_}Bgh6*Ea)ZVoKv!yl{2?X@THyxvhZyKOVR6v0+bqzG0g5wF(gNjp z(4d{LkdUIdsJOh4l9H5|loDuO6Pj$H_o8TluH|54X9lfH;L_kw2kl^E)6xQ6PXbO_ zTA+ikKxbNjdOx6ml9G~w9A^v)WYBtIXnF%P!K++AgU`YsAAm-wz(EGOe~<;V+aJ^h z0A+EIKS1dUv^xWo9F;&D>5=>a3J%a{jj#~ZwNgUD65>jtpm9+#DJdmTqYP9egQ{Cl zaRXXj2AV7bm9^}KhCW$-peYbgQv|fqN7WE?unI4)47h3lg#kF#f+|yx^FWJnK=}iL z#X#->*T&$vCeSJ>&;%q%A!rs4wEB>n8{`kj9d)3I9?+T#DNx&165ES`F>uBQr7BQd2@8XBHYh?sJNo5BK}iEt z(o0E+F@P3TLz5mztr%!dTndy~gvFr#;ACOp06ATl2^3!7As$dN1EnpHKjf6eLCXT9 zgp}l@`SdNkZ}m z=-yFq$^^L{G|vR`4rl>}FsRxA&7UiQa-EQnoRpHB9B8Uj4m58KDmTF!|JfNCd8L_E z*$g!_xY$9<$3O!(pkxoaZH8A&N(ST-@L(FaT?2{>P^7^80a`gJ2|CmRBnzI;1`k_; z3Vu*o0-Ea(l9J*8msenqfcl{zKY(^$ffi&5ONxUM7O2Arx{gp-1yoal{Q}-!0jgNV zKxMP2k`m|^Kp`nPPzeE^u?6)*K!aMKpaItss?4Cl2~d7v2MtJrLReB#SX@Y$mzOsX z6fU6h6XbGH5%4Mr5m2WU6imXx&}0CLEAS#uP(ujpS5QDn3WE-vmy(iV2W51yH^BQP z5dHuaAflq8N^+oL7j!+nup(#~2`D>)ifPdJ5GYzfWtym{B&azo1oDTBloEJ~O%602 zA_O{h8oWdh6#O7xfY$Ya>IzT|09q;_2D*g|6#1awh4=$hnaYTP@&bqj4m(I@1Vsac z1yU#kS_TYSxdR#`k&@y9ZSMe;-QXb%Q1cNqH3IUEFgUD5#KG|)20oS>R0)9=mV%W* zE`<^UcVj{63e+E#laU2w5l~hI^`}7j9@Jz7mm{jGTI>Q^kfo5I`+LDdGBO~4NQ2s# z;G_id4cO%n5s<4v@cTK}|=m1^504i_5 z(F9t72+}4D+Po|#CC0+Q4c^@W_6R6mz&S%q5`5eYs9hosUik+udO+0+baWD|60{}> zbT){%C}@$BjIfZnxRjinloY7^6%rK}5fYUUk^}V)K-DzpSRMgsY4Gp>C>4T|xsb3F zFRv;i=ww$RAf!a%;_AWOI z1ISgNd)z=xf6!JH(6VaKZJTl+kAMmS(0SpY*%MIp0-_})4L~IbXktrLR7pt`bYrg= zWKo2ioCN5OcyM+H4V-|c+(7A3Obc}Gu_VYJ;88Acb3jatS4PGVw1^WT4)O=c3!r{7 zhz9!tl&U~0JEg=x!-b&fZm>T80$MEujt|g&c+jvOXfOyg^DinaB(EX_Dq@(V~6}#8|i)xEMgXK!Z7;JL<*6M5I88544IBv{*)*8`N@vG!7(%q4Ox98Vq!6v#O-9 zg1or6oUn|Fl{m;=8PF;Xa262-O>coSJ2>}%3Q17y3Tie9iGm02Kuj@V8DD-?P<{cm zE`-EEjS)~lgK`mQAPM9La7cg}+p5AslAsnnXmmgbRQZE!1eXZnQo8Kipjm#<#c^W7 zLZE~UuINEMVKFHsMbNk?Xk{$usC-an1+^$4g+GV~VkyYW%Zm#OiCf8oDtIBVKR~sv zI4C)Q27JZkK)DA}RDyyXl*q(|gv>yZ2HHQa%FiebS%LtLK2Vr~FerM3Kx-pF-UTGIRHlUglqzE*vFD4`;E+S>Y&cMI{8lVB4B?am~34_|3psG+rOiE5sLP8vL zKMn(^-wH~4yr7dIK(PT{JPPuMxT1s{Xrfj{MFEt$g~V0l<>f&`OCVQ)5|;$1Dgk*4 z6hWZjanO{gkdO>$?E%yu0@C1?2`D>>gF4V)CxXUdgr!7PRCmafi zg03S5jc0*crl46KP)Y}-X|UCxb}=ZSNHJ;zutWU;wi`6w2T}n_grN0p;Mf6W1JG_8 zF>uU*N;gHQ8jzQzK$o_&uz&`sK{Gg@J~?O#0Mxezg+6GlB`BYRb{K+2M8W<5tvLm4 zx&WmtNr*p0LB|gW%ZaOi912=L8Yl*e15t4a&}mtspe6*UniCfRErEnM5430vP=6SJa=9?<77tK%QI%8`6;T3R9w#X*EGiC~b`+A6 zmy?o#RO+B59-vGE%G#h*17d@RxP-*PbtS0ZB_gY(!LJ2su7PS4P(XmZ02x68#{_6> z1hfhR)D%Z_n?ZX8K;a-J1j_irLhS4u;M=-D!4H~@0_6{|4k@1+e z{UilI_t*)8;{lZAKm{-8av%{I($@wzY=k92X%JlEg0nA(0Qm#tR?r0j>|7k&986$m zg5m?TVjWZyf|dh`NrIw7l$(Vcw2n+t*Z{QtRv29WK=!m@hXWcDJg+w-asuENomlC zw=k2WBxnE{)YgLdLsUrw)G-4$VL@{_pkhW|PF_?AG=Kt{O97=0AyH8|2~aWuc}+@4 zLOx<>kS(Iw(zn{2?p?u00@`1LR&%u!EbtLL$Pv0vZ}J(7{xY94Og= zh6X_iN*1)&9h|>}KiEH2Jtet#Yu-Ku4p1>q3yn#Ka^) zeIX@2P{Ra#puZ}pcMB>$AQ&`=sVXTBI;0omP0-{DsOt%y0)hBLN(nSV3HAr5p&{pu15p@!eHmyI6?obK)YDTHRZ>z?0u82u z{Ql`S%fF?{pSQ2#ln;LjD2^0sQ_6VpF0kyLvB|+mQO5&jQE+}1r21-C% zqCoiwv?LF7D!Zzrm=fslXHbQ!1#&K^RRL-;$jQrtI_pwOvLNN4Ius-eDuqB9L`)Q% z(m_HX$BD6PunRzA2*eixx9&gz3HAiI)dU}$11kXg1GGI0{*MZ`dh@j$ISP?;sAr4b+?CITtOq`+AUWIX877-4WsgId0j3<359D36GP zr@J6ytDs?fm_NXse^A{A!l0@L3CE&#&EhYlqO#^BXfenHr z3$V{YJv4F9dR$QD4NrfdzBOoE47^|kbO@)KG3ew=RaI$7d`N++L`h-LSb{ic0E?TC zfe$oZ0v;9u)#%_N0TfW6<}Rqb0{a7$1VA1HZ9@P}VMqxH$tfwxD}mb4ps<0YFHm;~ zv@jAB>YyHkm@udfB%q-o4Vt@=5@rG=Jy3xO%Gw}fL_qTypoJtNpqvfu>4N+sCIcFS z0k0wj?Y;oz4`c9s>dc@k5J6MZV0VI|LlQK+s|5B3=(K-OaDw~+jvHaHM1d{7Gxls-X8 z7&Kui0;%nUL`6kF`5RhpgX0{u@fdWkwkorss;a6f3!kYPGiWU{Xhj_;Ktb^#4YC`S z&-obm7(_w)bU-`PK?xVsO9vHLpyUTypQt1UDpgfM$qqE(CL{$aHbGtkwY9{+2@4b( zkgNhO+l7Qc_Z@=bA3S=b#iIe*t|ulYCJU;CLFo#VPeFY@NQM9>D$oEnXmANsbqcA1 zCLSTv51=#RRRuw(8-S)nK}*Cy4G)k3V&EhO+FvUUF0c3)#6dwUCL$yP%Knm|WkaCk z3GxW&&S%hmHBfs6It&jw(H-PIQ6VKcAtsQELD2y!bA^Q^L49Un&?Y~y*Tg_)rb_Z^ zaDd0PK(Pb%EvQ{6CM*Q%#X~E4(6}imszE|hVp5=GvY_S7putJdOd~U&5g#8PXl@AP z4@9A50IEX_!08HfSOkM8cuZUhbl5m3XMjp1P`g1Ad}oUs$R8jDLc*XSXHX{(l*~aJ zorR=$d1VAZ2LXZ>se-By&^#)rs{;-%F)>Nd5HNUyEvO`fWNWYwK?MS6wIwJGfhu@N z#DGc%P?87j>;Y}a0To!_yX4e#)U-{($1#8o^#@fXpbQQw?Zl*2LBqSEp!1L!KrR49 z2`D#1Mx;RFC7^m;R8(9}4m5oZn$iV14wAeGB?XcNC4Nv94E6^z8?ykjAsd^Hj<&Nl z=%Qut(Y|1RfYpI!;Z>DHM3unzE`j_3DmjHfBZ{!B0rCZCRVHY>1QbD_Nf1y60hGgq zA-Mw76477`1P#}M8p@#D3w9%Dlo*_dKo=5$wuu;mRwjcMhlzkXexONkP{@G>=RnSf z)8HxvoT5R=2Xxp2WUDQsA?Rco9Z=;VEXfR-SOGCX_h5r!1>_G=&^g;244?)HXyv$= zEGR}maRC}|1Z8hgaXBS%aDPnI&BO}HOZUKP&0g5P488fmG6Ab;rSfQu?= z(Aq9=jtAYo2R>0%1hhzukB@wR5p)I`WL*uoc9d2%FaSje#2=t7JD{QvG`tV) zX+UNqgdnq4prJO9KZHeugd{<=F|^1BH#kA325JP#1O|diNs!Y)UI%#)l)AutNl9T| zUM`$9sZp!HLrJ|MUT11+Hj4V;6Nf%<}=%p?iAL!DU~bdWf+H0XG4Nl=7A9n2kPsosxpHXXR)gasDif@gGO>e$%>It%|hG4f{mFGyjv2q z;EGvQ8gyS3XmJhbbb8Rrcu+fokQY0uPfbNs!&u|xbJDJcy)zEKG@E(%)L2Z{!WHzb8XY>>Bvg+cyM1UG#^ z864E{0r>;8cnDN+gMu5h)YvyL5Ohkduq1fFov<)y2@I&<0%ZiyQa_MC!1(}_yFusb zgPhCE4!RB*v@0F5XbF_P!E&mgrLmxsf-|^=?c`Y0`-MKWhiJNAGj$hA)zP%_6Mkt0);YotOL|A1r5i5 z94aX*#Vep1s44^ABqsu1YXmAqKw%6z&VSg;<~_Ea+Y>P-9RUluJ~_ zm_Tc>z;|&lGpjO5g8czL%TSe(nbA8Fct2D5^j`4N$oAih%o37BGK+3N1*SfQn#nI|Swr zP)7>1<4RH((!&QW`UiVR5>%uL3rVTUNP*_iApQWCzM!-Ts*xqN1bBHtOiuxxC=}xk0BvGJ_Ujv$27W#ZzMjE&o$hWfTCd zKn0yT0P0jpO7bcxiHj<+ut59)>JWiyF(F~lup%fmgG7WRB;+JOBU56a^=V)Sf~3Si z(?B2wWT0M13Un+eC}DvLDUc7qjWlo}B&{l-1@eaoD1<@#H^Fy4fUZ0TZ8(BP62u>% zV_QH?Cs2z`667gR0Snre&S#fcycPH~@|KfJW&- z2ayTOf>SoQ=_xFv0@~CjECia$0`=`c2?SIxfR;If{Q(MTF=1gDUKued(9znUW-TbU zfdQ(9jC_ehNm=DqhIBSs=}z<`;M*0Cal{DF1*~$Ah+4f)2I-`5ScP z0W;`uJvGok5$H@K(Dnq-@&ifGwG66~pmk(Q;-Gm>KJe5qs3R)O1S*$69uXE177-H` z1#L7?1UE=PbHX5}gNjpdiv#3TP*wv8h=CTfs%n7pEhJHbY9sKZyo@C1P!^CzNmWMh zg>wR`pu-|T$qecbaA^UG8E}+=I(^b&py&WqG@zTxn3KB&O0u^|m zMm^{v0bx1NfC&dDX#5I1+yM$lPzzT`2wYTwCVz!M+aTq@ojzgkpcB|Zpxz58;6Y_8 zsP+aO#Udpoqspko3u#32z9{KATyh)q>wDgAD|nxn0Y~K_C!UMlo&W! zSU@Kqfbs^o)B=^Vpuu`6&=7&Jgt&ybB6xZce91M)YOtLk=Yu;Ppc}mPv#7R~0mT1Ws7s${w^X z8MIgq)cJ$>LmSe*Vw02-0>u=_E1(=BBn*lUB?bm|1}@N`5;z2fM6D!1Z3xhyAE?9nO-p!r1x*Q{Tn#b` z)Yk$JNQ!_u9+F~G;Gqgt(DiJf<`ZbjAKb2$RFziK*VfhsFVbdamgWUrxdpzb4P=tA zFlcF&90LO*FE6N91L`XY3yCLzN+;0V7brUmiAl(b%PE2;wn4c8JjV#CcR^F_pr#7BmATNN1J4HZE z7x3*CprQbLKo01{VC^tIZEeu$a^O=QK>K)9nL))eDApw9ltjhl*co}vR6&hcP{@HM zn87nJQlLT?)V!6D6IT=mR$!S~M#r0y^&v6wctj9B8gjN(@w%fYJe|H7_h8B?8L$VxTHTQUJ7l8Hu{Rg(MU~ z1MI?Lpkfo07QjUcsD=Qy53WFMnp#2n}jU>#fY|PBkf`Z%*+NxUY zpxsZPei^f>Ft~{VYI=aC4aDWZ%^k2mgoQyv_Cla(CQ!!)WIDJ$7YFsDK+YBxV*+Oe z@T4?2X@Juec;HSFJOwYtE5Hlte}PH?(1Ajr>q3Qvc_qb!z^B23x+~zc1ri4}IE6$& z{tyC14(LED@RD3mas-{*0*ZENP!$2XLV%l_+d>Ca6@iwKgQ|VdZc$axZX`)zVbGBU za_o%E3=E*G4Qd(+34ssE0IwDj0S)j#_K1M%6HsLiYPf?!SxiI-)b<7E4A2MzC_Ypr zL1RGd0-#hbDGOT73`uZce}DwRZADP-02TV6;a*V0gRZdyjj@1S02+Y8 zAS5gS-nR|vQG@b5XxSpDohuC5c>ykuK=}gHSOc{qB&B4u_%(QCq@*P!LCZ2gc^8xf zr9iC|VM$O=8JwJ(AFQ& zL4aDqyzHPW^n}6JV}s^_LH=N8XJ7|~h6pHIgZu$%$%4`W$Y`)XBtY>2>LP-MfI)L} z!l2$dsFnjM2PHL7(^FNINlJ`S(@RxA26QovkdP>75Kc@?R)!bU`VA5n)gl612AiR0T_d3NY}j zC}`vb$sgcBC1DXE(2WD2#0;`ZSXNb46?_gPsI3la*rX89W4~dT^^sR0?$e2PkPlc0GX(^8oR{r7?&BIspz; zq)18%$%6dB&Bq67VnQlXEnZ&GpeJbChN`5nyu7%$C<7xq1GfmcMGIQ27Y*2e^3v8rT;T2JOKW2VFA(nyCdl7vx@09SHIOC>er11nx|L zL?pqdRe%qm0$`2fO1yJ7@v``CtK?rzj3B(_uNo|NCaNI#=ctPn| z2()jTn}ttW6=WeOEikHr?%dE~XO@rWd^0k;Ntl0Z^e0DO*-l(3|TkQgK@ zOG$}uNwATk;8>KCmlqXf;b36l02K_NnK96H*PkT}1*pOi0_44Q8S=Xr2F z4qhq%@(IWvAa96^f<`4}q-4NjR>A@r0-!k#=#E&BZ@>$yKn&0cCXmPkH=ZH68WJU- z6KBCJ@IpfH6dvf*e^6+H5)N1jbpC{piacl$E9e|yxIaK;EvWMZ+D8SB2vAW98jAq= z88m(cnxg>u65J*M=L}GW2bV{nHZRCqVxZN?pgsi1AD|o}ET92OV4y+;Y&nDw0VOC< z1rG`UY0&%`s5uR(Odu-YBq)C%`~fQNg+X%{qTs%_kdTs!3h0zHd3gmnaRzn<@Cl2; zkQqI2j|}8OaIO~vor?o5c0n7f;OlxoEn<*AK}8lgZGqAy$b+DKCk-0vkx^v_nIyoW z!3&z721Nk4AcACK&@`Hu6sV~Wnm+)|#t2J->kM$Zg8Kr>05woR`yg3BWgobcDyjl5 zq=ltGD^TU+6cps;32MZG zk{>8bfdc_5pKPo{%ag0z96kAZ`M8|n{XDIswQP$3Q~KZQhvprj=(E(%&M4es=U zmpgzx0`dkZQGpj_2!n17kphjWfEJ*GmfH)7Nve9W3up+i^YAcBO3H|efw~!>p>82D zDG^~%)Pwv1YL|0y@pFK8R)G8g(hnZm7ZV1xzJ)}jKy6h}9Rca=2`CYQ zlNrbv;9?2X?-LS}lw#D-;9zIxQ3oHRB`E@GeyDlU@5GcZgA(Mf^pq>wSl?$k30*xSu zi3zJ324wMTaBH%&F@x%U&GhCvM%$ha`b3Q*nyZF2%mGDr#wsA_re@N2qiaDgtY5&`w7 zz*tHMRJ?&7Ndk2sI2!l@Q783=j1(hD4=?f_#DR6HOlqKL86uO}J z5ET`Y4-yvz`GbWOR7ryZ8kG6Kfexw?!2S>w7ZnAq3j*&!0&R2v->V3!RK!6;zo6{~ z;$S(@fp`)U@`~beprJb@Q7ID&@Zp>lF^;-JwwyO9Kt2L(K2Z_{kznV7Tmm{62h;@vZ65)hC;-|mCN3uqnkkV3 zjS_+QN}?hnCX&n=3~U0tVp5=>kOTV`TRstmf&@xJhKR_)cut!8d%iuv9<3L5Q1n6o= zb_Na(&^k*{wFb(&pw<<*eGe+(q@*MyKnIq9Tn~x{h+9O(6~Wu4AgN1H0wfBG1aVPN zX9W`QN=hPT0?cfg>io=RV&K~^!K&qyl;q?@!7c<`cxM<5B%AzC1Bf-vZ~HjuwTivfj1r3?hvGX43P!3hhr z)Jq)XFwi71XpJ^Fj^se$EhncaCkNg$09p{Hq$DIH3h|FPga-LUPC^{)4{=ao0(Ly; z+ztpsSVdGsM2dkEbRIG|Yk<0pAO@%~0WDU9Ck!h4eq*tnrhOZg>&F- zjJ&D_yr4NxP`RioDJ=;)6cc17$Q_`wNWfVgbX*U3BL`^0NkSat4+aL%y-VQJRl$Qh zphh5Ql_6*`49NG8t{do1PSEHQs9y;x6+joi3QL08y`TagoU1@hQSh9u80b7|165%S zbswV)y+~sYMpZ+Iqah7-5F0Y}4NAly9(b?pq613S5RJ}ud2C7{^p&%&&K88Y4OM@pQEzRDWn@yD$H0%XBP#ofFu)9G_ zanJ%SP}vAtUjZ7Q;$@Z=Ujb>Ko~Ry1KsEZN`Ihs z6J&KEXkiH`EeU}SBm-^65|#n+!8r)6HuECG*1Td188U!H0llN41jJX2Hm!!swxaxM+Wi- zXsv=Os5=JY@JjQ7R|J8KhkHT@w8alJWCl8jQ500SC^9f`uz>Oh_`n)alMJC4($xg# zb0P5hNYLabs0jngNuZXzsDwCZB|E5>1r7+1ccA_P13LS(Yn>|1|6zo1o)G&co^n%Yx zl~4qoivwOq2FkCX)CL~b04oM(4A8nCFb_lsgOAq&6@+VP+s31}NH=mbtlVIg@?9mc@U4chSuN(`Xx709(P3{K~uq8lOr zntX%S8Q?${1LYD?IZ*Zo`wU!#K>YyrZob`6hoy)+LEE>&qsCQ!-(Iav}EG?J1s zOyGO~svdC4P_^CAOh?|(AW=X zYC?lOKr>1&Em8y2Rgz``b!k8z6c&~f5|)t!ITy5450nd}1(*c{BvnCI6M=>vASp@< zR1kxf0`MAuq7qz(fX1IdnOsU3)GGp?A}FE1C>i+(9u57PA-sVgr!u4 z*g@y6fm;7i3_50t0pxYiaXRdvi`W?$8NqyzC@4@^KxgH$2!d{Zw6?QOiHl8)P1QB! z1MLT3Vc=%v=H}*SU}j|GRx?(!&^A_6^90=0`LAMEj9P9%kKzWRlft!JYm4N|NAA#-^;pXNxwYPH%i;qoA zj@Jdbm79-+n}wT^o12l_hmn!n0_0v}&_Xvpu-p06__+DN_j9Uw@)?6}_B0jb78C^E zE9=R}$IZtLYJWo}gg{Frgrp?3BtiF4tBQ)ti%YOT`~eyV6p{m-a|9Yp11B+IAt6Ia zW{~sQ83WltXZLV1uz{A=h8f02&Nt0F8+W za{Dmwb1*P~PJahokN`d{kC6e?cm^G{4)zfPAGf)AXhLjktdl&=10y3l z185e7fq{XY7aT!cpuPFr419v7`Z2L_@o`~x;CtSYPA^6hOtNsvhckD?|wI6lAwsG#$^gu&f!(5Qkq2rz&KMnUsMptJ;b1L&%G@BpKbl#nc_j*$b6 z-Ggd5P@)8R1GN54QU-kSlCY>KsL=(M5eA(;1RCU#l!WZRkk(@N@b=c$Hs#O)mA9Y@ z9ki4}NJvRcNesMN5?aVILvEyyhIj^i$~&l3hRA|e!h*87pd{$z14%I{_>c>zZUdiF zBrYex!obA=I#B~Mq6VJfkOG~B2g)9xbJaj+CWCuQpjjJGsDoSts@Fl&3ZRV>qR>Gs zkR14+0%2iECh)FFRcQeYZg1}>dv6WM@@HAlsvyuwnlhjfUhuJHpw)RGA2EY2#sO91 zAh(140BNIu7W%46OKXA>vlw`-9Y`yF>rB##zn#54cbu$>X(DY z-a%(T2#J8|7|^{-AZbt>f+jdYmjr;59w=_4#6d%`GT<5=bX1g(3`jZ1ld9~J0s+R} zrcp+G8d}nzscIR}h`FSgjF=2)*b{W-J})!q8X3@Sm*7KfLDe0|XP`CJlAw5C2CY?A zRaMmlRV5(nKogkYIbN_cLF1BQVsdg4p!~tb4r(WYx}=~{G%-+%PYkqS12kU%I*eNp zG7bj{Z_qjcP%jkZN6_wlNl9rbIq*T9AX#ByQ7dtAAr%!RaLZAZOH!4?Bho0!!&`$9 z+>TNOHBZ5Vo*;jK_Uki&whw^T^njKq34rqnC^DEqH_3u#$3aa*X;o=n6n}u);Goe+ zP_hC|$b-fV#6j&{(7XZY@KGTVkTiIHKuSm)G@m9VCn}*R2MS$Da03a{odIDvVHsg? za}{(96UZl^=82@RsG^Drc;rL~w1&k{RZGLi+sMe(n*+2kACx^*Wx&VifI<{h>PSkn zGc#&|PLGGU9&|k_xShz$EUBdmx>y<1Yf%+o=HnCO^w#8IWCl$4nckAQBGl$Di* z+ySY|ED5?O6}&JP6ceh_lAu%T1ysTJrGn}YaFGR?0TvOH0~_6m;bVXiXPr zhz!D2l@!nl;MVl^*3@7GH)}yLA_JQA7XxiV6#|`V0=i~ZSQxYn2$U~CM<;`5(4nf} zLReK=T9sE?l^GNrpz{+!`#r$v1vL2rVt{hIoSdS#I0HKu0|$8N6}bEq69JXYpyUf0 zP6q80mJ=LBU@&}2Di-wn7o04ldY)dIL26BPw52n3aJ;9(hXO(do&DXkTt3GxSc z#|lV;q$+rYJh-1DBq_-xBq_}fDw9<~J0=8}89`SIgFFJd{SwrBR5gJ31GN7fhTBi;6RW)+~TFe}EE(EXXWg zP=tUnXrC5%R2x)efrhmpRSBpVmz0#&;82h7*7VU50G+7~>P}0lg3d#h0riArcqOH! zK!^8(SFx%>E(nJfyWkuT>Y;=Dp{mLZ^9LwFgZu%SVuFm}gU%F`6PJ+VVrOAt0Qmya zA_iq?@XkRg(3p;tu!OjXgdB7QI;h+Or7l&72S7|n6%DHFK?O5tC#0I4^(2$QLXs#1-Odfdr1T+H)YRE}TYjAOE@@Z;-)-i!JfYLfB6oge} zgrz|@gMf|<5LVSv6_$h^+A9g#X9v1u2Gk+}MF{BF4rWMvNK1kiW`oQD1tF*o0IfC^ zlLFNra-ikyETHLi(8vy`Y?l%i1=TU2Aqg=t5k*BQaV1dDg3N##0m>Diqyz~V&~Px^ zlb}ikR91niMbPx01_!sMt49E6YYbQoFL>{`q_8TJtTa2b7N`X-16~crB&iCj(b+&Z zOo7(pvw>!+Km&K6F0CpvxZ%qSYL|da1sMgZ&B05b!TyktW8h@x;sVWkgKkU^1D(1E zsu4j9(Coa3oT7<1=ne?5+d;dQBqhbbn?b>T1C7{1YIxB40Z?RvVg{VFz{9ib8r+(i zKHfYqe~9sd&YlAe=c|H`MhDgHyrA1Un6ggl>uGB z3C`i51SJH@8=zJpsQd*P2jWA@VNekUs%b!1BKv6a@OgnImO+IJ=t3;eflf@4s=TUf zTHvc&wAfU&*x1v}1scosFMei=B%Z ze0Lusn}9GQ8$UA}=>AbgHg-vn??7#MP`XkBbvHl**`OE#Sq@rX0jk(RQ%Q1Qe~3ZX zY=NdL!NcaDLKalbfbN4d1MeP|l$4ZFRR!%x0VO70P;f)C3uqP=6gHq%12~OAZtMUt zRiy>Acr?|0xIz8^ZMu*I?PLWF911gowyvqFLfosx4!UXwl%N=yg+X_WvoW)=F*7o< zGqW>;Hg_^J^9c&7X@eH?!u}#BQqN$zk{w+W(Hlr4N7gQ(xCcWjSsx$6|wP$0@}?5sz1O3RAQ1Kf0&7Yj<^D)XkJNBHU&i~ zxGMl^WrMl|;FJ%}6QFehpoQ9yf*Ldm#m=Frsj0~bN^>B8h=CW!2&+mms)Dw7Fsp)Y zv}FX{OQQw4pOcM^O8t7ac@PcsAdDp6-28yIKcxGBk z5p*#CXv~HIls~{b1cX3i(;}ei8|)EP&>6iVQsSUg1m2_%@&{;?8C*4k(iLde49Fkg z)f}K&7F3agdr{!RUrR&7$HT{m5j67;>Z3`5N7RHt{XTH-33T%y8|WrTRW8uB6lO*? zRT0pdZ&lD{Xe~C-SAkaBQpfOT#dmii$(Aq8$P~9M*C=MD!;|6zQK~Vwr z2goU)`T0F`~9G6R&VKm!(_2!=FcK=lT=3P~8WrT)^ctsEr9~pMm@YVv9*iY6WO|o4RVM zgZu$HP!8k|&{PMrDw{B9pA#r`8mO`}YOyghvV*n+GqQsg@q?DA$Vh52i;00<&aBD@ z8bvh#*ZJW7BG@CKgayjE;B*CAsmu*J|@y z20s1()DbXqj%098?OB~ei+83WKIqr4zvAPZxZ#6iap zh)9XZi_3|Mn23s-h=_>D$VdsxmNI6fpLMZxQPm?T7$L=_ao zK_-fegU@vkQIZk`@kPNr&}sf43|c-1b~9)hosyEAl$4C5qyZPNDA;9+ilC#`MU_B4 zQ35T37Bx|l6B3aUkr9@W0{KHq%0xy=R0OnXQBDzbzP6H*n23mouoTD}QmWDd0-$jf zRggbGBNw35C8;W@q$H;($HBtF%?(NgkaGn={ty=u0v*5vuHux$CB#L=K}TzdDhA1e zj0P=u5s?=c6$KrOAR;9ST08>6Aa5v%%Zn(1mYaZ9X@KJcwCk3MUq%$PC`LjKyoy8| z9IYav@^a#$q9ErAi%7|UqCyJdTyYVQca@Z+M8rV*S)@dyKxgucN=bpsDo~_=`~l^F zG8lN_1_w6_HwS1k6tuWfOiTBeWqEaGKG6DwtGN6?)ii)6>FrZ~B;1Cd%11)}%lLKuj z1K%+S3UyHt5h+M~OUa6f$e4(Tih!=m0oeoc2Pi&32?{iE1=l2q_;N<28 zjl+T3u%MD#SW*a*-yxN{lDLGDk~qluBBJsj7mG-V$cc-~%ZbZ@94Q6zpC~AufX>(f zopB5D2Y3iePC`UPR7y%rMnJ$&Mhdi)3cQXCRI!3$N=XT{Z9`sENkmu%v{zbKModIX zR7pg{L>!coWW^+9L_oK%D~W)v{gILpkr4qEz@Vs5Rh0&hpn_^cPJwcTLsPqNVpwa`} zU;zy^fC@xa(7IL)byrQ$_%5WW2x>oq$}C|?Nf{X-IT;yH?Z*Z_yns!WT>#YP09}vE z2)fr^nq5o^v~L)EF`lZSD##z8Mm#8KfhrGP@Q8{kvnZ%gWnc&8576`osEij=WfGPX z22HEUiGwN;VKGqq7}OpD9WTcW+W*eXEUYRcDXk?f&CI9@I$8_V=7AJ~Adi5%-=M~s zte7MtI~NBB2ZyVVhAL=72&5ebGFDPm2DH#dOh`)_)WTu}`2$p=GlR?nRn&~28%ufF zK~uD1Vp^c_Ur>1q8ts+_ABn|m0BY`mZB=Ck6`4vL9NgS|pcaFaBxnzhBVB(KU3uDw9b5>;ktNhZ+n8K}{~#tsTWa0G*61mqJ?OG^xN{3Wj{yP<{# z2e(H67wBvga2o-%QXAYlU;-_|5mVKY23pHYjMksWjbo2rbeDmy!)G#6+9 zLsCqV89XKgihgNTP-|X*S%3*t^+2p-76Bb#!tKhzEeIMx7X$4(hO7*gl#~+^77-Hx zZFvB-0VR121VE$3;G^?EONnGuwV2u1LCYw?mk2`r0SX>a?*z09Q4+LiOjT9OP)m!$ zg9m(d2dLc+ZbyL9o~o9Nkg%AHtQP31QAU1MHgHM;T__F?3K=F}6!>6sS4LXYhMDm$}W+Az`LDS!Ye0DN=Sh!93__Uq1jdirOopnKzw5EIvEF7R?22D)`xj8uaOu0dG zo}lSaH8nN9&@fO}9XuDR#;2wUDugAaWkf_pK?n45gGX(+!E=-#f*Vw)uy8^A0rDs} z$QV9NLC`U{91N@++zh7L+S+_-+B(|WYNpzze5RloOptf@__$daSh&H?<>u&At}bq0ovQi&cMmRz{tYE z0lET(gM)z`><>@?faV}T$N6##3UYH>YMW{cLj1wUrwxe`&?FwnKcE0%0i{<#ZBtWo zbB9m|3l8w|Cr!< zIzA2-P%9Da4;|3Vt)M2@A8Oia;I0+3s+5ToC_ca|1%!kpxw%10EVx*hK@-Sa>>v+t zaBy&e%mPKN1s@+Dx1c8220m?WQzLCPaO&a%`Onl86i%SCn?P~Nz|9R>)y2&R^@oin z$Qz&(#l-^g2M0GFw~r+w2LmH72REO#nzovtsW!Koj*hmewl*Ih3uxH@crAvY8Xq?( zH9)4I`83t|_yh&{1O>VI)QtJm)WFRx5h)W9QErftpjG6m9NY}x%jrQWi;E3(ur)Ua zIPgG=B0y;qbab*HD8jix2?1oXskW&pA83Nxl+P5Dv_RG~uy8YQfO=;P9DHiprh0a6 zp*EWAV51l~!2SSbI1WB;RzYqKOAb{I4zNjlrrLsn+B&+R1ZxWR0w^JX!(UBJM-7zT z`1n9-L5WOI4K!cKr>O?Y@T#C@nFz!m!g9i5N}${4L35el(^NsFi!`XH0`(76c~zO2 zWkB^XXlj^QSe0E1bX6>fWCxXDpn@0F&jMjksS7G%LG#;Mpk&0&t`s79%4+=nw`~RY;3Km7SR#R7h!Qfo4gCK@$qh zs?yBTpd*s`z+DnmaB~UlYtY!PFz5;y2~eF2u6;nYJChiw86gQ8kCXs8m*!1Rah9iU5dTxVhE% z)EGfCyHX+|;v%5(l3P+rPDD%;w2mC)4{%c#>;p*y@J*~TVxVC!F=16+&_+|x7@)Kv zo0cl*E_cwF2xvVaC?+5n6p>(4gvBJaxH!~mUR52(8=$qQ;8sj@T5Xh{oe z$p~v{Y00v&F>*1gYB6fDGcvM+PB4&><^^wXQI!E5JP5k+7&K4|I&TS7NHME|a=#jQ zI#EhWL!3Y&lDyz$v(liAb)XSXP_-@wx-wT%OpKWkG~@&x z*w+HhGl5R%0Qmuw3PJTb$QPjK6qD5A;0QK04&i_pBPIf>0YMQW2Ab{wX_b|f1R0^K zD#^$X8oUCXCda7CD5)yOEUl$w$Sx@+$t%Xr&c+4092b-%#XvV>gBpvf+@LeWRe71E z8KtB|ML_=GW{{M%5|R{^P!N}s1my|PRuW!G(C9ko{!fq-L178@ju@!I2W1D)U9F(y zgrLR}Xu~Kd06=X@P?ZYW-2;jNRV@x~Zf`zs4$z&>APLZHC&;%jg4JPQVVp9pQ@@D=+bU2MsVygvomtBX)$YonyMmV%%JFE22Dlt3A%zNhL}Oo z0rCeQgQU2Xu%xJjJZK6H6ruvW&>1c8q$$WF&;|vlvn47l$qt&$V+1uvK-m#24_ZC| z8fyS8MFvgDfmTd_{GqAIr^x_nY=B}Ebb%1WAE4EfT9T6Bu|r8oNoFlcb~ZLPHc&bP z7dQk$fdq$)cbXdxprpBgvVAJWnyBH~ISphA#aQdC7) z61)x;M|rwW6Hu|OB3g4_R~r~-vGsNV&`!l1*Q zL6_=@34{EhuI{7G0f{h>e<22eoCzrzK)#X$4QNZNf~G;VRAqRz*tMjERVAgFwNx3| z4L}7OcrhE;AE41oP!*A|eG^+@-AwYG8q8(?QqT^MVo`s6h)l>{AsK-C&)d zfl|;!tQe@R3_3Cl)V2jBD^N}l1I>bfrnEtKlY@71fjV-k0)84=S{mGjyr66kN?4%t z*Fb3=tOt}+ok6Vx%oU}pyFyZFbkM=h-iw_40%px%?Dq$&rv&PeF)?f&HN&AO$%`5R@#zUIA54paB@r(5VoZ01Yil%E$?c3CZwk z@XGLNNlR+6Y4Gxbr<25Z*%`SExj@B~D(Dz-F;HnKtttufhoG3MsNLoe)bO#F?yP>KfFDMIv!W(qnt*W%DBsZwp2imP8Eg~Bztpw^O zd4eke5fKp+&{!8UXk-X93CYaHtR*QV0=hb06*Oi6N{q~)DSLSI2!j@Kfu^rOTl+zC z`k>9Lpuuj?YGBa#wW^^8yB4T>3eMQzTme2?9kiAOv{PFSG$#x?4?s&&RYpig26RiT zG}t2o(!63?>{?pVOrR@5Kxa&qAO^KLKT!< zM3})%LS|JKRT(W%^GsC;lzOy4hk}8Qk%py?=3)dTVfDDpsQObR@C1d2h>%r9urg-J$IQa}UL0?`tX7Leuz zHR9Mo)jjAOOHjy53V{w@Wn^Xtt*GGO;MN2!A(dnnF))-7=H}Dn69kznrX(&RuB0jk z8ms^%A~7vSc4kIZAyDfKbgm?5Fcma?1Ipr{VhWVjK|u~0QUN<%7_=G?bov))Uymf{ zj7!jziGY9xC=Y`U>;;u}kR=Ep`#^*H(D^(uVNj+6pDw1Q0qUlMu$DA0Xf7FaKrtvE zg8J;BsX8%9EoMeglZJzXTaXXb{7_XA5s(w%<`V?@Ls(c$PFz$;TpBdb&kJ&|h$@ zd!TbjK#Q3`ZDDY$1$<%#X!#OYC&V9Y%v!=)T5MdPId#xY_FACpaKTFmWI#on7-%|B zQV29$4O({#T6xJ0I)qnJNmNQ)9Mmro1Qn-ZN^+t~;s&aqBN{xqH9_C!Ep2ececKt>GIQ4s?zat7@ZfF(mo zNw7aa1N*|Dof5bbPfWw})bZj9Q>>6B`@oPIxU)Qwvl}g3<&iZ-K5>lM(_2tF$UNH>e&2Z5;tmyYLC}nS!&6 zDrgj32~^qgf=&jM6b4Vuf%Jfzv7o{V)ESgkRR!&B1tnKdIDt-#6JY|Cv!K-ipmPhw z!RH5n1|g-j1Y~%%Ky53~0cYUDC1BnMt(64r=L20*1lsi`C8i3VKW7#KwcJ7Dz3j~F zTI`_n)IkH8lAyLOC?SJ(&x=TFfmSx~X>#*%fadj>LGuO@;Epb+`2{Mkl$1bAdc;6i z$V-D;iUOdd1nNtHmH~iDZ&gW2S#i*G57;B1=~*FhAyqceeNo^lO;l7|6tsR^Qj!<6 zEL=lC19U1Us4FM}+A0R}2e{w`l~$lN^q`0YokSp}D$U5q$i@a5aaH94&2ln>JOUcp z)shBH(1F8IQVMka6r|V(l}{X?QcM-RA6gJJdlbkmZsurPSyT2)npot;NRLjcsc0=2(D zCmjk&3WKV0G0>7CAyLp4I3dukOi-Yxa)HK3*`-z4gtb&-4GZ9U8`P$i)zApw(9nWRf`Z!o zpp%M0XYxx4iGV23A*P^>*r3I#QX*oKTA-0!c2zb;a1ElRDk;sb!KDT6rVB|*iwS{_ zPhmsb|ltkP0tW@KmP1y!Hm<{~I#NNY)osR~QUsA_>!NDB+gstFa0Lax~ zEDVYi&}u-?CNQW!KoujnDQw8WqrsyA_6N8U2jvn_ynqf#0WBMZ`2)1h8`O1C)dF{= z!N-V#24cW#skKx={VGt!3+j?+fgA;j4^>t0pdYA(Dh8V8Qe@EN=Hml5n&rgBmBhi- zf|xWf=)?+8^8-{xfJWm%Nek4F0?p8X4*UT70(AZ!sL}(iV*s6x0$RNc>NSE=t*SJy zmWBpD$RA)c!6WzJ<_hS#UC@DJpxOiEeNe^%9eM{^0;>gDBc!FpF0BP_TS-c*vV-~` zpjN!37AWI`I!>T6lo{d=P-j#aG>s<*8VTnEZ7vZ5Z@mZG30lD}3JF$F_J-^X0e4qH z-T3)BtN(vp^D2i+47zK@)pSqpS7gRJ+F1KrmN^9QJd2ntqETnK@}9CSn~=A_3$IP-`7jAxME% z$bfP=v$V9d1`oGJAk-h=COc>lLJV|P9CXz+$PiG&1l(K(Rj443fcmmpTA;?2A-k3| zs6WLB@&`K?vno62z)`SABqc#dNil%(E+}1z%ds$UbF+#`iUjfmIH!L;DIJ95%9qqpi30N{s13Q4=RE{ApyE-RZB}FfZJaKG!6;A2nn_f z2y_-5BuRlt(B2woqYPB%gX(qAR&;hPY0!`yyOuPg7AQNgb7}E|`nK$#d;?mkDJ;au zz`+9AfCFk6ii?Yb=OQGiM+wU^fl`X3ma0~OKerE$0I1slTGpH~L$2LbK$1my{6s|M790v&NA48Grz4OM$mb$pk^7UZ~%D+6awIa z8)PrI)eTB$ptc?(JC_C{8>1Gx0BD_&jHHkpF9Qn~3uu!P=nPav(7mtRf~p{Ife!4D z0|f&pO+f~8z{LTm#|qxU4LY+%H17#M_G0-4BD0hOos-Uevpf#n8S^`>-V@*{h#TXeu zS8#*+lX9R1?tGwu22iyqtRyNbDgurV$c@(EhO&q-_-b5GFoIK+s1WELQ1GdcQZk@y z4Jx}pO)U@xPc}o^<Yv+xtM#0}6W3MQEU=BdGkAl!UC@ z0wq4sfg7My0qXpKXi(=;ON)^mw5k)-WdNluMn-miW{~ZmeUK93e4s6DpqvH1dR_$7 zHdF;Ih=vBSFz85JkkR0#A^28#(3t|D90CdoP=)}7BFGn@{-7wBAtEU$&8y+%P#LUjlrV6e@#X%K@8lNB^Xs4v4s;H=l5@@^xd@3`jwFmYJsE7hJJixAnIv

zLEQ~dy#h)nAge*+(xCDR6dgh!e`v7<1bAtvih(Y00WWX{kD-9Hg6dTv&~P2df1qZY z6sSlCl`ddMgQkO|K-DHFe}iK~1{4^)yfTuYi{iyW%b_JDLH=N81{W3*pcP-*rfPhG z(x4?LpkyV&$R?o5D=7mGXONRXP6S=^3o35F7nFly5|pe!{s0XXfE!q#VOr2mC1GK4 zP(M{jOj4Fti_wc;RSWD7DbVpOpySj)Lqp)g3)D6N9l#74@&R4T2HKbfEm}aX7Y1Ez z3i1M|wGCQPBPJ!rD<%WF#29oeDX1MP#Lmve!YHF81?qvyi_2@9>ZqxKMti{hK@rfE zS*nsU-~mf;h5)z3zzI!QR#pnsfDwisNFxP0#Z62KRJVY9DJ2AIgMr3&r9>o!WO-FJ zH24Jscm=?Bk%8sFHMfwI9B73us1^eCUO)>$K!q&mhzF2IAgM_fG}r`@#lXx9x`b z_@zN7-C4=Y%ZnRZTAG@Ink?XDGfJREHL9wTOrRtK8fykS06Yi+3I-W)hY5W0H|QW! zP%j&N!YRm)pwnAHEe+6dt{~m28a!V7T9UG$1MI-Zyn@z+3xkz|if_P-6Dezz;Xz?Mal_?}7#LUj%BPc5*A|xlTpe!$8 z3R?XDYM_dNPn`l?sRbJ40%dE^qAXAX24xm-$4?Yg?SnEm$WLNIV&b5Q4saNOJOc3^ zDE*2F3&{w{FnVb)@~VP*d!XnO5(QP-kUA060+9n10FZ)840I?6Bwj$N0A#%sXwn&U zeXN)m=wcm7Nf|L287VQ)?KM)opvqH7l#zjf!ITNqlU9}&mzU7C;N#{1tt0|<4@E^) z1(+F`B|&^pbp|R-K!FA-SU?9&LJqbA4WxlW9GpVHja*PS599<;X$0CXDl94^B&Mpt zs2V5<%0!@%T+o#XAY-LK$037889--Rg7tu!)}V1VP=tV2VN0qCg9b4rg+T}Qfmi;5 zCM-dI0mV6}Dgy-@13SA9KgdF13DBYDrlx!xY@n?+l5%p2;-XBd0s_pEyr7A2P}?4~ zybqlALB$lPbqL~sdW4{&7@T{+NeSd%P+kNr^9Lb$g0jRDA zZ3h5_4X6hQ>VSbpV?YHEc#IO1z(Dx}JS-p#I!YXTBNb>gN>WBhOiD&d27HCCu#hkV zJ3Au-$Y40l#iVmwEv1%R7pZy6tr)QSyB~re+{JA1(lBAmOD6c2#bJL#DcOo zC{jSzbbGOmnx`9B?C&+pcobwk`iHLXW#&B_z;!?o$n(7iVrRk z&^We;l7zT8sC_A*$_zTl2I>#cy@TK!0?8C$_k+?IxakO*xdEM*1v>u+6!1cz#s|pV zLSj<98jL&!yrB9K+z|sUD`Qq=2cIkqo-GB12534CR9Zp21M`Qfuq0>wV4 z=^!j50~)e{`UAArURVgUSsvU%0u5DystEA*U(h+nAd7@WLF-*L_`OtlK}$YC(FK}w z0!^EO#ymik1*k0wsyv`>2W1dYX$7i7KzSS#AE1;9E*zwoK$mlYhC4t)pcEh?BxJzO z2=RxQxP-j8gt@6U2bY)_FEg_gXhDOR0C+8>sxYq%sE-87P{Kk&yik9D(-!DxDbQW> z;MMe?;umxWE$CP&(8ac(Iu3MvmXsK;mIl9umVl&`6sQ9!ECd>nlm@LN0XY*C)ZmUI zqVEZ+4Z&p#`1A*mKfq}cR2hSIa)2TQQssgjAtc1i0P+W@Qz|Z@EH9yJs>8tr?mB`h zcp(FjKR|`93~19is3ipI-|&J87Vt2QFt{@ZG72;l3OYm@)Gz^+TvDJ+4vG~p7Lt)w zRn-99_X_I1fJzBrP{pju%+9C<+L#2I*#XBlw0#IlT%ag|Brqw^iW`s&sBi)afeHlB zM34xmV-2!hN``}hnSle`Ar%K5>Y;5a$iV@gq?VCV5;g%(W=cv5OM|O!a6SOdO+WP<+O#qK1g6k^K>U&{HVMaz?HU^LZ!g8Q< zanwxt7#LJRgDYmj;4?u%aSJ;4PYE=TTCw2h7Lo&5 z07|zIAt51QaZw>&(99NSM=Hqkpz#Dy$^z9*po$LU0LZ>%(EXX9=mza=5Ec^#uQLLd z!(bl?gBlg!VjaW)HTgjpRPHb`GBYp;gR;Jyyu5_C8Xq46yDI2TKp7cf5h+z>@M(FV zf*#VU6$Q7|K_w2T*CYaNVSovcv*kc#j+mGb=wNS9l>|CELkzU{3gmw&F)>4SRT)n3#~TEU0r0Dw9E3ACy}_zF`8{018F$hHOyG zg6bcT#~7G-IT*m(t3eCp#nt$@IoLs6dNvu*>1x0~4D1n0< z1IFM}yoEp&IjAcInmv{iViEzhQ9zw7P^t$tKZM12dD%frnn0F=;z<}Z7!JBM4K#`d zx`a*)uL7zUL0$(-fQEymKxHuKBo0t)2n#dvGBPlL626qY zih{g6$RAu{s*=nCV1ICdhPpugEl|l0YLS69gor{*S+Fl)1gNng1Zr)78Z4rqE2zN1 z25zB)oGuI+Nz*W7)BB2rw8%-~(^pq?=3 zI2<8iAyLq|s*qFz^@9|sNCIUEP&xwjErmp6Ks__i&?%_d1d1yWVO|X$4SqvL0Z>K; zZwv=bw}P&H1I;soav^v$5_B8{XfG2e{eYqqd^?k{q_7OQ5e%v@K^KF85|Rk0n-2~v zkUxa@LH+=pS0SY$FE6LWXAHUzQdLz<475>6gq@LHRh0?6jt3NHpn_K%v?T@V126?D z{6U>@5Jwo?K?MzSf*K{DIucZygPQ1)ycz-gJd7ZJK)eh}_8@yCK?f^-ig!>tkpk5*ps?3s zW8~-802LWvZJ>i6!Tx|G7*LG?_CF}&LfSx}@ncX_gBlZ%q8U`KgRaK{840=p2~?SZ z1}0^MWxz|=g@ok9g;YS>%G9*AbwN9#MWp1!MJ1FV2VQ{&SU`7PK>Pt}n}81M1BJhs zkdO+f5hVl~ZUza0Dsj+Q2q?5b9akw4Pyrw%Da@+{TEfb&VF)U)#Dzd}ilC!5;1xJ% zT`Q>dEF~-?2g+ukpaIz=1?tlZgN}v-k8^_PDQVE{iK?mwjE0QTpmYuLrZA*SBni6f2vlZ)%m;P$h2%hy02-?R zomvQ*ngXqX0#$yXvr2_TK==ECtP}^0PDp|lNXiI{3A3{^F!Bls2}!G}fX)Ke*4Eb5 zXEYF#lvI?HP!wTjWYz-BU^B8AGOL2dW8(x4LX=zRS48Y7Y3c_W+)^iBh4WvFE1yqrmd}`2VOs?q$sZ- z0-6TWVrOFqtu0|z1q~bt3xRWh5U5!Q_7JEU2y!&Ya7b)Of%n!x`n8}O2|mFjrpX`G4(gN}^= z$0s<$iphd377}6v0U;q_SuH@Bx*;Oj4kMI5llPZ5=ky)^8EeLF&?4kOhDse}L8uNrRFgC@?@J5o8!m zN(vPIpk5QGg$VK{2!r}ppmYXW4+j~5m)6oy70}@E*N_Cc1sv?4gUvuCnWUJcj4CMR zK(P!8UQl@l%37c<04T+Rd^A>2lK}ZrB9AaX;ydZyocKvXJM(deG<>W*~wfXqew3!*X*g)e~BA}}{B|+^N z=;SH0Dkwg{vmBr)dr)l!8srC^jRV?a3Gx6~9Mt0jB{9%iI8br`%?3*Gva<*92l#79 zgF_Z{sw&8};P{Y~6anp42c5MA_6oQK1oj80N&&TWJJ<^i>Kx z2??5@~;C z0F7zMg6kkqyABjupjZ&&=H_4p`$JL`w4D`v>ZPixfI733u!y+0Fen8}ih(+zppp^X zddt5;Kc|ZdSAlpEtnV6KYq_C8v29Lj{x2C2R z6Q~y@1sb6Sr5Z6&P;vz4Xwak(s1X3F$Dyf86trRpxgpc)I* z*a5j5R0f0QVL>Z*Kvk{~=wty&VHp7pO@AIuO-*)?KcLYEavdl~fl65+kV23EtkeQI zR~)nx9@L`+aX>3JKoh&7pfOl*1t|tvkqufMD9HfYy#%^PQB?_a?mh=67YDa66R)Z? zcpC+zp931d1KmXmPR5`Z2enSX&IR>Ar9j7!g64NX-6)VKX!QtaAXpMSMlB{J0h))E zl+@z!_UG2rbmbQS6|LZG3eLfx0twpaKmf0~)0k0{a8hAru1b*<+LeE&Z1R zou?1FE|ncL3MMHoE-xV}DFPnr1$B+V^T41cA~*$unrxsD0o4(p`2vv1AREAvpr#6_ z$OV;;AUA{RJ5^~7bxm$pO;1-Ius>uW9s$L!2skl;u7?5TYVcSK$T(3@-619?CIf2h zN(q71SO`lAgD!0r21S_+czOxcX9TBpus?)(C1u3q73IZ6K+7^&Kz#v8ad8FENRT+_ zfC3O9FAln>S6p6R9(*;1oP?qr_>vCL9VDO;BNchDa?q*#pnEMqCoO`Os3<~iWl<85 zViGW9=G4;SRFx7}6bE0AApyRR1a$VQ1ZeC`LP7z2MmESa(2XMUAQ#EYfpWSyXe>uU z0yKmmFD@Z2FAuU>P7btxAGG}m)WQ{&lam+Xm5~vWSCp3*1)ZzL04iQV`*Gyu6+!0? zfChv>?gwL#iSiP1;KP|fq&Vo91<(~H@)F|W5^|s`Kg2=)kdOm$Ko@#QfMn!Eq|6vq z8T}YJwU|IN!;0cyC(B7l$SZ)(_f}9=mIwPo0<N1t4gR7^r^=>N<&thzrY#$;g1#U&*tBPHKkuLtI`06bIs%Fd*B-B^1GHh9t!0Ku0$zg06^xI7?hnTvSTNP?eDb_M0^WrLN@@~{pomZeolXL}^Bpv&A_0yvDH&z~HXc<@ElC+EanQYBpgVm*;SO@U z1jrxq;tHT71xj5YTS2}9UGyRW+Q|rt2~ic$h>pCRyb36eKxcG-ZXE(0*dY!Q5D@`) z%%nl5cu0W{02dPmbvebw<>ckTgV*3#6_KphNmIZ(z0T^R&QQ=kkiA|e86bFhI1eWiGL8Q9rDL%~ea zvO==pwhpM!1P!==XFEZKBB<3Q23lVNZu)>)CPE+{s4fG~OMyl;K;0~1&_EZct^h9* zk(Bk)^fof$@!??vEzSTHZlL-UwCosEQHX-t%Aj##unmxcO9(W?Br41cI^N0=|a?rA4P+J7l?2`le7*rC2b`60}xpVdObmiw_l;M>W zgN&5JyUO4uDad3n1}#bhwNZsYEfq0d&_&pwV{?UsMCF77e}K-11J!1r1{C=EYLMB&(%?1Uptcamb>Kc3xNZO)3@Z#8cLFsM z!4U|G4{%cmqg4WxCSBFc2=AA^OqynYb85tSaz!eMV zVs}sggQi_TEl#jMKwbk6)Pox0pkN2JP(bbmwben<2pXdWwNZp6!8H`Pk1Yjh3Q0;! zEAjC0@bhc%Yw?15C*TPz5l~Gi1gayTL*Sq)5R^ng2SkHI6Xa2GDR6v%21dj|XUT$M z0E|I(F=!bOX#W6c)2ynhm;~tL97aZFcE~w*BA`KXP?MZjOk4ughyle1C}xDDK$Dx2 zpwtE$dI9zP#6Z(I-~l(tR5a+kQ*dAiffl2H`p;rwVye>8GCbToJQ^B2?2;mqpaU8~ zLqi}V!L3@TKR`(pBnHCZhA-G3pn*bAsDe8@pf)e4;R+fO26ZJt6Lg>hOh8L!R3+s= z8J&@l7gVJ)vor8BfU*kc*dh*IUUtwrQWlU5s9dQ#U6Af0qFbz z(A^IpwyB!78UrslMwry)n+0?o5a{v=4i*kjgPDVc zi-m=gg$3j=1_n*=83G`0urqLTfv%`vU}50k6V!Heak6)Hb}_Z!W?*0eE%*dsMs{{y zW?p7qRfs=8w@)xKvNM8)|3IhngYFt&hk5`+aexls-~%6S0KUZn#laDi?$ z0H-_#7H)PfP|SeS7z+zKCl?Fo`Z-evI|qA5b31!`Q*Lf{ZU*p;4{Yqr44~mM(A*It z12a1>GruZ_0LUC>b}n{MWNgqJ;%?PzX04w;G=h#2?0>b0E06`S?Jm zfPj3Vrme%k$iT$R!pgu1N~R3#3>@t2EbN@@3>=)CpacSPAUo)^3m#C)V&G(F=j32v z0i8y|0*Vk8Mi$Vr0uCL}?HlYI>?{mi>>QvYO4wOASdC20t!-@W^v%ufEx0*Yj2S=? z268Y1D?2kUFKAx@BO4pj!37+Fyo*gue_fE`J%ky#6w9ad9!E zr2J*b$oR{Ulk=Bh&z`>wGiLl{m^A4xLs!>dhK`QE3>6iB8H$SjGQ`FGW$^I$%i!nt zmmw(VFGG0vKZcl?zYJAXe;KAs`OC0t*I$MS6aF%^wf$u%EBnh(Q1F)_Dd{hRkI!F* z4IBP4tX}<(Vf*%f3|qGRWys3<%McaymmwhFFT_`rrjDKHz8V8JJiPY%;4DvF2? zn9Wr51P-J4zyOCNwS+--z|DdLCW;V9ju{Nh6}2@X2?ZoZ8J4w@m9>J{hG`HNHt6qA8XIesxdJ_eXEFdDxG1_lNT1F#Zi zX1qFtEpSVVDp4z9!7d?z;B>+5D(uF9Qs+Rq7Q2gZi0VqZD4A)J>OCBW;SvTVc(|N} z1t?%Nv=tRWG+dYgq==c>Tv1CCAx1e%R~OY56cfc=@kpYmMCC9uqv*3XL*b&TC6#B6 zYBp56jSQ5*&jqzhQHaP$!&D|C!>6kTF~(d7LW4{PrCAt_p-IUUsu0cZAPvaajuom7 zNstd>nixBT2FsvY29f}YKvja6U{wqZ3?McioC1r2guo1VDFl{>34sg)v!SLjFfa&k zqqqvL0&G55ErftcC@U)~+k!X{t3V_a!_Qm7DEG1#48rBD{gI0zr) zSTGAjpeY6ww;*dkQg9l?U|?X7)n#BXF@qTgGKB%G93l1g&;AAW{?O7gB=B7fF;2$06BpRl-@x? zAPzJr!Ca6z3PvDPK-xe;$g&VIupS5#ZXiep$Uh)qkQsb@eBc%X*aUY$$&A~7YqyxqDnAzU|}$!;S4UZ85qPw zp=K~JXenwNg7nC93UYDl%E~e@=ol%Bu|st0Tfzf@K~YOj%is4WxmAfx*ql z$Q8nrgcr{2Y$6aLMRRi@sF#%C_PKDuLk$!Y?CfxNFc=v@RfC)=3@xNY#TXbEl#Lh| zbS2fe7#LLC3>D2G)eG1XK4u{;4L&|TB~fKtWl^wx3nL>VS8)j)J_aipT@F!@VGIm> zTKdiwB7A&eVq&5U3ao~j3=CSf5Wv7-Zmy_p4KhyF#>Pg5K~`6QfkjhWQOKOxT#--H zL_w5+!Bt$I!_~;v$do=olQwZK^Pf~~DBA2?7M81xl|gcL3Htr=J>g!$M+`NWi!mBrY_8MwK)1VILh89)*i zGczAEv?0mNY|f{s&&MFF#12voQpF}O?&@X)b}56AskH{Ub;B;E%pfMp4w7fk*Mdlj zbMZ0ATJbS3*vQ!MF(}!wf@KvI!Ls1=0;?V+Wnp0@3uh5o{)s{T3N{-;*vRl%fm6Pz zwmGx8IoLV|GZO{|B{n_=P}r#Q!>og70M%eHW1#+qOMn>`(1gz*CdvjDKqf3T4Ix}H zQ2cR+B`gDjjVvhgK)MYL7#N^|08*^s%*VhWs?5M33dz8>ZVU`=ZeT}q z!Q3e(#=x!w76PR_MQyP2#o%5S;F1KH1jc-}%A%s6k`z)t8W|zwU}00R5<4YG4aNtm z-9Schy7DoYn=^n@J|C!|$iQF;YIL!QF))a+gS!RJYCg?4U)pi!=9$;V&_(#9qV z3OhZJSquzHAQ5N`Kr=3s0$Ioa4^#_7kQ2dTxCsMLV_FOnEHVrXGJ1S`40?JD3=D!s zpdwP4fk9bW8DtJ9*+G2BAPOyBS&SGMI5|1_p!rl2+OJjsg#g4xeQ*;V6ri?{LJCwY zf=pv@HsP~V;u96)V-OSLV_?t)x4$@5;ND_}$0Y-UxuOj=rV0!Upt=WK5TfV-6);c%P0x1A_9x_0ot;xWk1S*dq-2!b;RlvasYS4m8WRO}-&{!;kg&j2i zLfRG#4B)DiK@*gJK^cgFK~9#B0UEw`pfoBZ#K&ML3@Sq0+!z>KIrtdd+>DI)7{C>& z7$~bLfU+sb3I=fg1&5pxC|N6mlCcpeYcN1FuDA*)pcpv7*%;ykeM@N5O-PZC!5W;3 zl-T(Az(z4JFzA3nnSp@;6hG#Wu^5oA!PYS_D1ovAm~96uv%x$Zgn=~!1A~DHAIO&= zC34dW00Hj{s_8fE^7N21f=gTfjsiMJ)q^0yv988xZoK7y_vPGO~p z1B00&kN*ENrpoSY*8z}dKyr2RqKfoeK)a$xlg46@Mj)LI*qYruj?`Bwp2IWmA80hYv1 zXjp1#>4VBPP!pYj0g-?C_!#6ttt|!xP>)MViH%(pQl2tEOL-;mpfD$>`~jCYV1fZs z6+-QV6!Mx%wvg61NK_eARxmJV>GK(|fT~~yaM*K!;zUvnq`*#tj{y|I;0hR$f0@B8 zK?{&OKq?p%SXmUn*%#Ei0*gS3Ah1yk>>_*&n);yNROHiV;S+?UdmBjCfB`iAqX|iV z=7^zQO=pNP$oW^2AEJ{F+@gc9VXBa53sA{{#Aje&5SL|8R|h!&l=WCG!3{$pMM#PO zRVre9VxSHnvL-z}hsMNsnt(z*f3fU~~{IPYtMBbPxQ6uS%z zx}e4U;GrCFHybnt3>nbjmgVD<;bUMB0gdEYYdW)-GAMyM$;u$( z7#J8_;r?ZSBpeY{IayEv#K6G7EdX{M1B0O{AG7=qe_=0bd0+6=L`A3z zjv{?aK1Fi|P{M*JKqt-M`3hnv0|Ot2JOeK;I7#bBsK`UJs<}C+&j|`5C2+uj%>i-2 z3~63C6Vhk_7hil}Ynee>Ej2(H4y+bLNXSX5aS6CU2U$QOUt%uD%&bUMuiwaxfj~IXIB#D<73cd(9~pLU}XSRhMZOm44`ox z22NKNA#jrjk(e0_!DR`!y=UR90Sy=~IawP}{uP7T$-uxM!Uh`Yg0^W?bf-bh zOA8KeP~3pp-mq~tGgBpYWm{1F%jv==Aiy9f!RP7*_6sP1f&&6n;Tl0IS&)6QIt&bQ zx?po;WkCaiAk};f;Q1Fm205_7YM^Ay>Bh%k3JP;;4L)scJ}pQs3rW48mX@9jtQZBA zNgz{@njD%SjbJebu(u&htR%#j2Ksz_=AfpFrn3nHgRKk51{pp+87t5@jv7A$gAyy) zNYLOEsNc@Ozy~UsK>h%w5<768U0YFz0g~1j82A)G%^gr7#mA=z&Ul~*QL+W6X9fmP z@PI-VRHtYPR!xqN!3Gp;uAuG>C}s0m>+|t}%NwHyPuBM%C5BMxy+2}vm)V+ICUHE;2ocB-lrp%?P=K@yG(oK^s2*@X zg@Hj7R1t!NG(h1D>f{)hn2LZ#i$LQ=d?Lc&vK*uUR+&laLTe2+B~ZZt9$H~l0F|R4 zRibS0B1soq2iwR>7=fmUj2IaBT-}VIxfkR`B|A|5)zDyIFk=9B@HiP5K)I0t)CUG7 zWIk{v2B#ke0~3(x;M^o^!UryG7#MWa_!vN~VJ>h)gG+R9l>x0*7*xRpHb^7LI0gm= z4Ff(=Xw3;u)gUPrQzbqIBT)Uz>B7g)$G|1X#{o`*44{?*2!k8qkbq>6wP9c|2H9x^ zYA4DF`%s|}|a0b?sVF0%r zxcRvl1i_7Z1``WV7G_`&0kx#TK?)x4RRZ<3H1+v}pj~kT3lVT7&0uP1ttABNgn&Yk zS421P9fYfT0dR$&Guc5p`Y@k}gl~df+4Lp8t*+oHv%b+mlROQnFk3Z{y zivVy0Xo7~#K#~jwhJ28I9cY*bEC(``hX*Xlz#svtl|UkV=H{TJ3>F3zfgmx07@U%! z`-w10?WV9Mkc8AXW(%HjRAr(u`Dn< z*9ta11{xZd1;;$7&o0c$XJQEH%7F@QO#_eULZmuHnLC%D5AuLEJLPX%9 z4CPWtiNnTbC^QF@SRh7#$NRxdP@@UVz)!%s{m{uFP})&Z<>Lnj8jm_3A0K!{2xw?s z160v5Fff1`5>PY2BSv7h6C+3`18gWBG$yDh1j@l+S#UcV%pyQQCz?Q$5TLdIXb=Qi z4NHI`g9|jo0Io@4&3YCyaAO!UObRv}F*pv=VGXJz#X;?KP|9PF0T=6_P6${nc0w06 zbjJWHui$4X{Z(-NE6Byiz^B8>#|NG#1!r9d0V;RcK>bDmkkiz8Kve+PGoWU)oSYmVgB%~9 zt}Y*+EVOaQ0P3TG2df#}l==7|Q%s;nGNhfSugS;91)58SsN?42<5PeXgz)@}+|FWy zj%0xfROs9Z*mf|17z_e)Vcj4Y2bl&p3XlaLO;>O*K!r`AMLd`bpXXtKG@n7`DOdtb zfXg>9iy8zgdMQMvp@<>|k&ubZzmPE!(72rlXr>+%EaDP;{NVl&1CNxnj4Wv2Q9zJ^ zK^{CBgW^J1n~#Bk(GisTK#d=84gsrz4F7?d#1hVsRvNn)s3ii@Bq|D?(PUr{7ii$$!49w<2S`3A8i}Yz{bul2I_f$S1W+?Fav`yi-i%W^pccSXJP`y zB*^^&0s;aITnwPa{##8SHV3Hrs3#*MV44y!_S{T8J<0R#_;grLxv|$o-lm-_Ko4+zkdv$K7C@ickdpKn&JNa`wZW|e`omh>leeVTeleAzkkp0_3KxLn>TMVynFYK;pNMh48MQ> zX1HRx22X+uMlC>~#sJS36$Vjj{kZ~Y!ka{p1q7N(w5{KCXk_T&qcmYI0)PNK~6oUC+ zGnknfLBe1*hyjsj0BHh?q4GicK*oclAWA?YPZdsC^&`**p*%Q~`h^7wS5YLm>8n(lZEyi~>u7ghA3^n_vu(86XJ;2C!PN z90LP`I#?XagUCZ10uq9`17b3mgezxePzEUhnHtOjWqUNGtRUsMG9P*=0V*F*yv@oAa;_MtJOKqMhz6MtqQRbo zDrOXi;jQ8e}{q!9dl4%mVp?kr@(yAR4Tmfq{V&;!JT+&@zIY0hWM7Ge{jsT#*@) z0-2c^Kv4!V4rCF?Vz5Gx%fQ+|ioqffgCHIRli>JZV1`J7Ni~pSXu@V-U=R{u1Q`P{ z8|)9TDli`#0SZ>I`xxcGB?!pFAe*4#3__sn0&+Ll8mN1q;Q`VIb}uAffGh%G26>1# zSsB3I1P2ya9OP+`dS> zoSB&!9DiVkgM26?02T+^2nt@1Z$RQ83^EIZL2MX?dJM`1nFX;H6fGc+g4KhJgt!2z zj)8#}q7mdNkQg-IfHOZNeS$<07-Rwi!U%BSfJ}h86Y5HcDv(*s;2a3%gWLo%2&5Eh z0$3cxXJBC92I~dqMsWOql!7o=4Xj)M2N*~c;y{pAP)PuyL9qnV4e~IU4@$ob3=9HD z=~MvZRFJp8VFQjoP}o347#O%fd5oEXfg2V}NYk>kDoCu(?0CE6GIfw?? z2ByIT$S6n(0CPdUgb2a7tf1@!5@LjCWQ5oQatb6L!W1&FLs-y+1yu)46c8yaBsBRl z2!rIneij8;21*5>;ua(dHUd;kzzZ@^yntlDUIG&kr$CsHQU)ZCia{|73LZvjA&>;r zonX_!1UTFoLHPr2K3E*27-GHvqMR0jxDp&Dp!fn?jUd2!K;B_xhG+##L5xGhKPWwc zRD$e-nx_g<4ibmz14)A|fe;W9l=)!kA0z@&&j8Z^u}J_u`av-ZHVmWz!oWsC0tsrC zFv7pwAjKeiK;Z+58Ib3|Vvq_JY%78Q$$%|lgtX>h>5!F~K_20MkiS7HLFR%i2GJmQ zg3N)L&%n$I?qY+)KyvW(4=y_ynHe~sjs)deNB~1vn$Qq{#WU0ZP|5H*j+v6mB3lfn5(V0Lp~apI~#K-iK#yunLeZFboeEkV;Sy3JNzy zMot0jii8K)wX!1E?#(c7UA03NF0hqM#Ut$3NIU zkV*xpxu9wv#0RSanF!)ALsJmMC16qotPtdWuu5>0!J-Gu0aaEYU%`?c$Q)3{g3!Gj%APlL;)yCLiB>gkjw|yMj(HKb%28trUax4 zB!I*Rr81B?pm2ofgq5st8E~-=k_Y(>LH!H% z35WoTftd!}F<_0j2(UV^6F_kVZq|Z| zaga;F0SA@`1q{d}MrKAqkOd&6Py@m8VEy30W?&EpNwTtvgXO`w5X1s2gQimuAL>q! z6(D_}C|Y^FV^2@*kuYMl(RmKe$7| zhJXl=YDlbs)PqEjF*Lt{+v6Z{NlLr7iV5L$}zryu{gA`;j)IL~xgnJU4wn6$KPDJQO zsDKnp;PyYLynxsZ4mD8u24TR=Wo8fq83s%LLI`n~`7m?Ad{CS)Ffec+jr)MY4;GFf z8e|-}1^|1Ifk6}`0Ks4*Kx!l*e5@o`5xNZ2EU++`4e=C+kE9+Ui10Tk_z~hD4WweQ zeWYpvsfTHV(U2$wM>RB1XYZndID5mLp=g=8pui(_#Ju3h*4rCuA#J?aTAY737AkRTD*m_X;3ub_;X;2d%>_iX&8l?h<0|PUt zj{x!w$X<{XJQ2Xc7DR&_gXC_Iy`T~c>^!hI#D4JT7i64}fq?^BNrHRqU{fK+BlwVZ zo-`<&K<)&W+#s7k;!w4aAqR*cgoHR7!iFe|1{j)%3b;869+Wv2a<;>hh+wE*u%s?G!uw`dJ4jX zkf{Cz#T`VP1QKinxI_e1v=EJ;`U@1bAQ~(WwVIKUk&6$c1XPtWFmUnsJP-F$@fhkfNBCRTiWUR4s$lf}8>3L;8P^_Ae_aPM{JXHK3pa zalvc`c5ur9qy#Ju(hTtem;|c<5g-j@$f{Rz^-APEg+P+JG2 z2a^Un8yp}I^T5skD+QYZVu1(2KnxfL8;z9%6NH-r5`ct1hy}tZnn40k3>ODG1}aEj s3hGdZ<5^|FBhIim0EHX~)7M3#whh7%fTz?!=(bTOjfTKz2+%MD00_gE-~a#s literal 0 HcmV?d00001 diff --git a/project/jni/application/lmarbles-1.0.8/src/gfx/f_white.bmp b/project/jni/application/lmarbles-1.0.8/src/gfx/f_white.bmp new file mode 100644 index 0000000000000000000000000000000000000000..8805278d889a1181fa1e30467a5d762a02bfe5df GIT binary patch literal 14778 zcmZ?r-DSxD233p<3>pj!3I1rzI~hF`0?Wm@87>?*t>Tx!_%iv87^MD$nf*$Plg>k zb}&46@POgWnKKMuzIfWu3fvv@bBM0hFiC8F&sN~jN#q8cMN;>>|uEF zMS=!};^)8NPr2&aiFUHimom?lGJ?b&BEBr%wzA4jf>3 z@!|!;l`B^m{`~pFuzB-lhC6reFq}AXg5kr54-EVE?PGZM>>0zQOP3ga{rbhQbLUQm zhYuezoIQJ%;p^A042KUNW_bPjHN*Am*BSo*{|^d68emRNu%S>2%*G^C@JZv7!!(MD zA_@a$GZj67!zfNLz#&O3VUQhgvmk+qA_S5P00Tt_4IM~A0f|wDedT<8q*{2-u-;0S^ls6HuuH7oddUU=R=xfXx87OEDSPl;aoUmUy2*9hujs>^0v>CM`7VHud2my86uEK5%D0L2$Yq7fshp4fLx|)j)souk37%pK@ zf``kouz&)FLqpI3M8ky{K#Bqa6dgQd5n`0HjEzxkK`~Lm2#+L+N>olj0E#{z7Zfh4 zT2gt6sAfa8>)JvY)-q7L91MtzG)!f-ww%U15MvY#AT-EyP@09&7@E}dpbF9a4$^>( z`Q@SNkOVm)rfGRWXs`^bWgrQV2vjAA30B3xzyM-%!YQyQNC?b;mqK89m=MS?FdJ$b z0|SG%Gm5L=D!}H0)j|lEgq4+*6*q_ju?j>&F-#pu65=+9$xvx5E`$o1e#({aSO5rBn78I3Aqg=T!ox{|TmXtEkWnBEQV0@*XahHn1jWAVB$0OF=RqgFq@_G{`?7RZzER$U^Oaih;C18~`;Dst%+b z!~~fPr@;!r8o>kuJYPag0b9%9s|%qS7>q?=EcEgZY$7IM#SPN{m$S9y^i>9nat0_u zY-M0z;1_2DXE1hUUuI=%xMC>7%MGjnEiR#wAa6pL(q=Gq5I%_H;Pr#()slwL3=9k& z4jQ5$pZg1#Ydae=`!X=F3tMS`O6cr7iUb2GQr!E5zHBdtF@`AgA!O01#8st(tXdxx7#lXN|B@7B}9vKD( zeI-!`MM(7mwuCdlz=MO6lhaJvirY#Wtl!T`SlCFxot=|G&eoVo8e|v)1E+@tub((4 zr>dG-QFnF7Z+Q?ckFfbTE zd<+gLPOzGT5uAs4$qAu&^*N=-IiMc}ZJ=bucja zfSkb1&CLl8R0akM2Ll5^Nedqa6+b&pHfc^RD=RB4F9il?Z5eZrfm$|@+!YYO831ia z1_UT_3R-Y7*qM2ORD)Ep`70PHIe}fu;H2ln0dC!RX<0F7Nqd3h87w>?k_y_K49s$z z3=F!qx||GZ{PJK~K?krbIK9BCM-g9GSot!;SVWe8T2Q}&&4v)Vww!X{l&`0u7@(*K zwvNHYgn>bgjgtWsHWJn_OCTCRH5kkosK4P7UguyuwBx$DyA{qGAAT<~#sCEMx zWpBjEps2_IPWhamh9U!lB&gBFrp3UZ<)sEv!pp|Vz@YEW$-p27D{DD4BpDbO?9@0J zz-6c#v=rk8Wkm)-P%{gZff%4kz!zk-EXd`G4x9`sb|6EUm_Vf!Cj*0%uoEO^7}!9z z`9Y0hV6X+X%X~qNDS42X9!Q%TzZ(OCni(WGl%P#aD`^G>J!t2~02<|jlAH{ppw=*( zG)OTY$Sej1Gmr>02A~-iN`YL+01s3aQIHeCVz>z#P-9vP5-he147PlnoD6(?3=9nB z!k{A3ih;q($_iu-DA|G29s`3kw0Kous? ziy$EeUK37!HBM@uS237Dr zvXEHR(gM4bLB+-btbu`7i<1*lg@6hsXv+7o@Bnu#!1+Yc01`B2Od!)hY+YFDV6d}+ ziGjp%V^Gwf$a3=Waq7x}60N@)1Kh_xHVh1UZVU{dx(8ekqUZq?Fi-*H$b2aEQNo#3w zax%z)!iiH|08}4=6o5Pr8KBURWnfSPmB)~7fd;55V6q1_Xh9`1NUaWdl$M1bntvf} z3kC*oRmz|P%Dj$GAJnt3v)6!fzqfJ zD66@FvMI<4Nd5(foEa!tTY;1agR%w#G~+7hg93_y37m}~POy-KHr)&yI2nAvsmP3t zlM`GNFfcH%gGwR>1_n_4C_=_!K)wcB$H1Tl$_`*QKdj6K^KcM0J`4;DHYS`549egF zijNPJ`k;!X!R-`qYX}tBpvVR})(T>U9t%jBz5*u$gCr=wXn@K#P&*OiQIHe^gCsbo zSb^$ahyVkFEGS$V7&vq|S@bwTSrQz_%%ECNh8?5`WEQwA2K5RcQ3)zA85sBx=5lf> zFd2aqgNgwsOW0F3208MkS|)j}54vWb*qGMPTY{@5+r>yxG=ETF)*+(fJz%%U0-8oPzyoS0c2D_05rTn90qgs|_ zVlW3qmV*NWgNq)gG&d(GCxU`Ufs=`e)5!^}1eChj%%EWl@eMe3Kwi)n04o7SiG+j% zm3xFJ>1gcILRCJ&zOi_@N6B<-*YEH^v^$ZNm(DKwr1C(pPf=E&B2CWq{L9J7;16nTF}Q(xTxMo$Ueb{AlmS}GtAPiF1wiEw zxV&)yXI2IVJ5U%wtc28bI%eFE);LJe3RG4wFnCyS+Ngl4U4_%^~&->i~(hIkWLU!#2TWL6WpSMutDNz*bh{4po%FlGl+>njN#;z zmjpKq4IDs80;EpOON&zr)Byx>V3>~&qMm^P)Io=cf~*AL00RdP3m;xcz(J%KoOxu} zCEUSq$>yFDa*gPO(`kN||$s^HQDWGpi?s5%9)K%NC-5Ql-&3DW)o zwZSpKp5<85CcEv1p#1_K?N-+r7%dd zf&2&#N=RADz`&pfYNkNC{#srP45FYuv7!N|hX#WksDaPmD+g*qGcYiii8C;$xPUZs za>Dv43?87$2xJojgEPGS%wP1t){E5w{h$6=YP1fm0YdgaT@V z+i`L-$TG<4Ffhn7fV!FjatsWhaUBK$BNYR1lL(QR8AQQl38+S7VBzI}wB{JJm3?(V z`Bw{SCj$e6I2&lB3)-g9_lLLz(wzo1FIkwJL2(0Wd&9=rT=dkuthhn-ue~~_w>N{i zJExHn*e{?23JwTRh3f>VWI^`%vNJF!8-va9_4Q>2t7YJ10MEa0GAM%$<^d&RdnHZ= zJy4kYaBym9aC$&$Sy5=;n8B9M7FLYH=cN!{)&XgRm<{$ego%}e_|nFLlT#5?-O2Kr zFfeedgW7VooSe3Dpb;G&YX$~0d9aawehdttemesLC#Yls`2&~1baB^}Af-@e-b!MCKjj%x?i2*jw1{TLd zh(m^;tiWXkv=^rXYF$C~Fhl$#?FAiu;Q)m*DF51+=!t_yi$LQ=oZ@!ivK*ubR+)(y zLu(B-H3kM274XoCyc?(-1*wu|gBMB0%%CL!y3FpvpeZ6@1_n+eB`4_E9LS4i{G1Fr z3>+K`3@!}d4xT*&11L8#fcn6owlgO<6N4%_P6itjkm=yuWM{$&E^QbX*m*b^K&@eI za72SkbkKkptXg4^05@ep8bQV}Ffee~a7sgKPB~CN4J4(aXU56kB&@{1AfV1^&B-8R z&dCH$gAAaS0thpJ8h4O@WMI~1VDJRlDFXv{rFrO_0xaHt%t<7K#=?9vyuz<^KaWyvB05fR3R}IwH zlC|J8fOf@g{KUbPG=rX~kB0%M69Njw00$FkP}iS<0g`_`0sAi=K9z`*RQ%b@FQq{YBs=4L0)Aj&JtAqi=yGa%&; zL^}sDl7$E~EG&54?IjHw!UTo6y#yyac>I|U9IN06&;bpbfg~AhL^=7v?OV_=4_FRl zs+1I1l7Yb;R4ai*I29E^Nf|5*Dgr@b1Ti=zL&q7}K!L@{X#&n{3=ANHAftJp@n%Ry zXRwiF0FPVfz^B-)K4lSl0o3T?0Cj61y&}l`ILHa^;HD}k zCxbS)QD>q8nWTZHECvP{c92iO4uAxkhXp5tngmEIgDoikfuz(xjUa9(VNm|nc4lDE zR_9~@I~1HgVfmMV0o=$0mHrG;T%a*PP$u>ThlH*iJpanU#>YTIWzi<8054C1o|2px?8Q=AM8kO?1%1ejEV zW*IOCL?CMg@!^;UG6DqWGq}N07+gpcRtJGaAZ`LNAuLEJg7~2B1$cBH%AuH2fQ`*i zXc8!~K#Ty7_k)?BMiZEUpKt(GUmzu*)+D$G$)GR6X$=lEDKSn?PVkBl(9k*uRHdv7 zc;pYH2R!%=VlZ$SLQ@@NC>}H>=wJZK!C+Z%I~vR)KtLy&K$8%lwg3a087H(Fb_Yd< z3}}b}T$93@^(rpl#xP`<6l^$Ra2%w=2UJNafZFNCpf;l|xL5~uLcnUV6UN|<5JV1= z6~JuJED9&6(dGvp;%2Y_b-@`pr6KjDhzzJ31ezHIPaT2?21y?V1~*8vfXxlmo&)vA zjMO3LG?d$I0LT8ZNg3tp(%+HC@5s z3|_Xt0P6n=m}_$~aIy<B)?w(+yG(!t*b3 zJBtlEk_9SIp>rqTU<4D0!5}af)D40TKf(BL8r&#=^FV8RS_&{UaM2P@)Gr0W@Iw~7!LCprRPLc^W&?*s-F7Oz)2Y8S}-i-|$hjPXu+UD+{c`9&w5;P9YU?8X=D++1K zTWOieyKs0IFfa&;GO5dm7=z0ZIc+C41~&$NesMDfZeh@D5VsW%v$3)@s4TFM^l)%6 zP-F;DH1J@M6_s~lkki$*g?LK^> zsjxVKN-q&#F-=WSOoH6+?d|Q&Aj7~QBO{~D!{aQ%V9X2}A=B06v$eI=^<`iXU=rrG z0?*aE$-`QL4jz&g^7`yDpy5C{T~I%m$H)uP0|AYsf)Wm75*%a$0|O_#nglIYgNPwW zKYp-!gaB$TLlOr~(IImg807UhImJP3Gq|ugXow5OGXuv5i01%qn4_4?N!|PlvV|HL z)KG<(BMEBmfSJDVBo5}{BH&dcXaEp0z{h0IAOjxzVqjp9GKB=RwG1c=qZ5Lge?El5u6_7@ChW zFl>0qzywm$d!B(|#&rgU30D{x);(un*!zWnVa`1Uw#)w+82T?VFdX~Nz;N;p1H;BQ z3@jk^$A2;~)Er@8*!+%xVc8P~h9wUf7@CeTFigM3z|eV~f#LK&28Lbl85ov7V_@hx z$H1`iIfKB1{|q9}{xdMNpJNaL(F^Y}FwDEpz;p9IgV?kG3{r3YgS|t2f`tWaCX@oR zF$qR|()i>sjiRCmURP1ko`Eom1q^6xGsq6O6_98|5dz6E!T}_qfW#=n0w4gf4bvd7 zZMY;cl_QIQwZa8JmI%Ok6f#haMluZUQcMPtDk7OIEDSJXU^GFUOiW-UOiXxnFyhH7 zOia{@Sg=b-An>^gyD^~DIZ&>}?jjtb%tAb(0s?sB1cy!%g!y>15GkCC85A&}gbJb& zrhr5s7$HVEOF#hC78Da18SzM>s6^$U>BDOWs!qZ@G_#=^1YqF@w@W~j$VkIfrXaz> z$_nwhj3R^vSp!P5Fd9P>JoCXBAf=cXoAX&9rlDkgRLejLKq63;ASTRc5SxX80ZM^I zL2NJsUJ8NbVL~9oz-*{#pw<^^M8j1ufHZ>DLI{`yI30pG5UW5W6vNbkBq5H11Rzuz zi%X$GV8tNoAS$6Oka1uEkTeK`IiTVdWC4T&@&*Vav_Ql`dKnlP85tN91z>VubujH< z-+|PERl*q{wO|o&@WJc>iNe?*8s->~N=AN&CqZlm4G}QKfGwsWGAJb2T5yE{b{1F; zBnB}Nx?dIK6|^gE-Kj1am+%ML|=8i$P03fB|8PsFDaXR0&8Lq#0%j3k!(H2zDX^ z1A~YrGsp=HilPD#6Brl-!1jWSMpntl%r62KV}Pe20Z|qPW=4p43=E9SoEjiGkSiD% z82CUILt_(4fqex}fXISi8LR}z6c$F1_qjmM0=qy!Kv9Sp%mPIl)GHu`pvD`RhWHND zumD*Hc9DQ66C#x`LhJ%N0cr+F3s^5RnXxSBi*2YEe*}LKK3+4iYgS7Q|KH=wM)A zlabajHa3PND3C8eIzZtI5kY1_WN?rWm!n8BF|kNVfQ(^fWo4C+200JpHxOoF5N2Y) zmPg^npwyx;W5EFl;()vfqLHzPvND8=(8>o+oggQ`{Q>qi*cK20=0S9EgPIDUJS?aV zb}6VS0u4cU{sqSoSQeZm!KDBwY9J;cu^1RYsYn1+U_#1AWl;1Zbb>X2d;^w+ga`uz zzX<8NhA@u>?RY0Tu>%NR9;g1EdF1C4pHWb3hpiq>zO{R2&@1AayV!!K%OnM3*MG zdjgJU5FwxiQVb0VkREV01A7k1CCEtnXeFbl*oP*Mc5Kqf#82diOVfRxV&Igmx- zLJ;%7B*@jU+^xt3E-6q90m*}cA4J1V26J!`ARjOZ3deF%8alg5@ZKdA;=s^ zs4y@v@-u*nHH5c7>Of%up~0R4F+u9V+L1I1fC@2C7G~h#1A7gk5Ud-T)xb#%q>qu2 z4I~Q+4Uh?7S3%qi2@7#Pur>xpMo2vbDo#KeKx$Y(mV>21g%n6TDEEV8H9(yjV`GpI z0|Ps}7XY^fVm3q?F9}PWa78RkOf2F8plSz{D;QY8SsCnVkZ+hJ!TA^D1h@{c17SRP zrhy5-0}@F9I}@&zNd;^q*b zQQQDG38WGgLvk-DiGyMRY_+C5NIlpbXu}9nJcC5RQ3R@J85lUhWiv2BnTD3Lc!b& zatKHolCMB4uya5RusNVW1VuK;YOnxI0~^SFAcw*{1oa9?CzJ_}E-)W#Cddc|QF#6Z zmxN#=!EOQTfwSNY6rVAGJPuBUV2eRULk$3%4GupL3luG236NtUMnPEM1PiTWK)M+u z2;^T-W&|t5B%l@`B-p_1VN z5Sohz(gXrU0T_dYd4!lD%_Xp0E{SvUo9FPsBmaEX9wE-;&g1>C)45M>jA z#4f!q!9E=&Q7 z2s5bY0y_XyQ-aeDEdN4ND%f}~HgLFu%mQJED?~sU6P$fO4h0(mO8MX*gA@{=jKTtL zM8gvuNIOU=SOA`R7$HFdwgi-gHNcjGD;Pxk3{?Mu!j}cql!u!G5`m^AP@w^F8Uup> zWPlRv7>Iq0%q$Fwq9CV&9S3UWfo4o$HZy>lW?)kVgdkxBb^}-hp->jYTCfYC?g9m>mLxbCA?G%*5-| zD7S#LD}l!|k)6e$2x=gJDov9Pdlg48lFFt9;suyU|BKx1RD5CWxgm>>oX@gvk{APy+GfH4DufFLyUf>JRH z3lp0VR2|eh#9S{Z8lXmlybNZ7+Tjo$e%2XkfBqMYDj_ull-6oCa@_G6F@dWLJ?G=gAyyupCEa# zLa-9BJ3$2w$PSSC5Gi=lV-V$G0T~TytAV9J?f_v120k7ZZ5>oGu-S~Dfge!$&j6`@ z7_`9Y3Stw;QV?cgLFywyN*J(nK_-ZRYiAY~Q9gLF2X-B3RGJ5DA&3BXEWrr}!~<&v zF<=;~6_i)N(Eu)iz%20S0|U4o7v}kUG%x0vkUA10NG; zP+wFL6kecY0Mf$9$fX1cE{IFO9S@L!Aj3fzq7Y;t$bBH|K*0tJ4XFD-w&=oJJRlxU z42lr2B!~gRAlHBr3j@Ip)mkxbxODrgA?G6*uT%)lT5Ep!CHgs4TtE;z|S2~i#f27Y-^9)!gM#4T(B z3=ABgRfQk}Agv~_1jH;+kozE33$QRSfh`3o1Yxir82H&(VBL98)`3(fpdy?Z6sREQ za>9#IP)NXR2ZaXQ-ykQ0;|nSZqrfhKaX>W0UJwfnbAg?PBnYw@iHl|}IB22Lpx}o1 z1uB5Xfs2yMPzH_8ldBm?AHwqp78^WIBPqmWa>AN9Ae|r#_9L7D>HxEV=2saQSh*pw z#KZ&}FoIQ)3=H6TLa^ZwouIr8%D><|2$BWM5hkFzLE6BbVE(DFdZ`7Ddn;4%8S>eq#iU3NnM#K`LQT zQp!x$;C$KQEXeqKlN>!)}K#3Z(JQ(bJxEPoL zaySbMBdBZ!H&j_zKsg!QCI(po!cZmPh6KprAPn*es9g)PUtbKu0=Wm|IcThbwSo9x z49jL91ECg!#lZwz2bc#UFhxM3pmG2-!VG1DDX_sHXMlMi0!1%a8YBt|I1r5@i^2iP zQiL)5MW$&8S0Pv$#N}UbHUU`+(h0)gSb#7X7#W$_*g-`&XeJ4SK?;$uB)r-a0Y^3{ z*+82FpqvDkMbd(w35sk`e*iqm3{uL(#00Ln7+6_BMF~hqL5YP0G_wj~gB%O;CnGGme9TZ~a5<3Ap^|VhXo`dL;S5B6gbIO56OePET!{S$4nhiQ zEwah55(lAtP_RHr72*(tV>Q4@4I+w%1XoKSd5~{G7!U=kOa-Kg7t#AAOdbQh(jcXx}QrJt{KJvjio^h5tI=IZ8?E(AWmguDq>?4p4A_{05CY5EE3ifM^g#jx7)$oa3Mj7zHV1 zU_2xm+(|&o4h2gLCIXW2kOM{l-pHlMop6IGGKF}}h>DeXJ)pj!3_J`B3>6Fv42%pMVDSa43=FTiAovdh0|N+yBv{y37&NuC z8T|bG7!nc^7);H~8N{We8Q8fv8N$NC7>bLF8N9r_7^88R|57@VD*8D`I( z&A`XU$I#Z+#;|SMHil)(mND>%Nir;2w1`1gL79PDNQ6OziHSjs-H(BZsgr?;X$1o- z>ud%trWgh$COrl=CLsm^feQ?>vR4_HnfEX-F>PXCV+v$&a=OJ}VR4gzgX1^@6H`3{ z3zH243zG|jm)9+Zn3#tQOiXDETuc%SVq%vVG&Qd=q@_J$=xTVwz`~@=z{F(4z{FI* zz{1SMz~;xsz|_ISz_gW#foUNV15+Xs1Ct&T1BVb31J^Vz2GPr+3<_5j7?{>DF)&SI zVsN_U#9(^el!5Cc7Xwon69bbS6NA?+FNWAhu?$QFObkpRObk3?Obm7J>KK^!F*7hJ zF)=VTFflNhFfmx&vSMIzV`5NfyvgMfyv80l z8JL!>VqgjkVPIOcl!1j?h=Iw-kim~7fME*TB!=}&>lo%T&t^zsN@UPv(qgzMa*pAu z>?MX>OxqY%F|A|>WeQ`s<#dDLro}aelibG{mN6}1C}b*Rux7Gn@M7|1xaD7DQm>56k zF)>VMXJ@!1CdP18R+iy{fB?fSCntuR78VSL*w`3qnV1+1n3x!Dd3iD13kqV$WnyBu zrm4yBI3a=IU0of65)%`HpC21Tdj}K4+I36}^A|EPL`5?(=;$#qOq<5UaQ?C=!{w_A z498D$G3?&M%rIpd7sK^i_6%iZObnJbObquQ#WGyGZpu(lz{K$GT^&P10~3S15)*^I z5fejF8WV$)8xwWnj_?VPNv_WMInL#K06W zn}OLRhJi`Sh=D6+8iP>d1qP+=YYa?zyBL_#)-hPmxXHj?c7%Z`aRmdDeIWyrygdVx znjb^Z;=2rWhu$%yYF^5w-GP{ud={Nl@(FP~pt zWME);^6AslAD^CpI4_@meE0F)^B=!Hzm)&&7dHwd?(g}&l9g4_(ljw(-Uqk7Z4auim zTe+!nvID$Il)(efsS2Gw08V?>TVz(BT88&+a+8Q{?!8Lnlrh+;{fKnVsi$ z?LTzlEMLET*@~4*H_TtMaK-v{>sBvYxp2YaEen>dU$=4H z`jtyJE#5qT#p>1T)~#Q*aKmCB##PH!uU@u%#lkgf85nGrE?d50<-(=&89_GBU$Ah| z;w2y!1B1l8>C@+dQWAqicVAz3clY#p3=9n2vwC`_P3r@3ruX!MK+ml1=@PT1fX-oik->Z%^O6?nzT-%$zx8Lhr0T z35NcOlc!9aIJI}$bOr{A{s|K&_4fAkfgRD^)7#tE4Q4Xvb#!%gfYT2{T}4HGeO*@v z0|P^SZBtWIZAD#Y2SagFO?i2FVN+3Ev3zYodv$wzdrebOT}NScX;o=SdwXGReQ`l` zRbyjiNn1@*MR8MUb4zPWRdr!gMR9#eRYOB#RY^f@g&sqGX=PPuX?0C)9Rq`Weo1Lb zS$RIFf@NUH%P%M_Du%d6JR>qP1CoA{QbUrHl5#T`85lwm(?dfOQiqUqT>@&MHr)^6B44MW8)K(7#PH(qGMv?;-f;q@f8vp79J4^agVLPjg3Dz z{V=*)dwU1F+xRmuFnD_fSOj=^y9fF+*jQLOIyzcecm>HhFgn>gyVyIp zI=ZODoH0 z=xWKy>q@JutE($XOX->z%cv`=DJrNd$(X9hNh_%7=&0%|OG~MkNa-6G8X2mo%V@|N zYbmH|YwM^fDC^4VF~}&Yswpa}OKX7gyNrUOf|9b73fK{nQqnTA@chokCc+L9W)x#( zVq#)r6OdqFWMbvx<6~tKV-sOuA85E}Z9L09(x10P=*gUB=y2F+)h z4Ca5#8QlK6F)035WRUtJ#h~?Gi-Eg|o5963kwH7NjUjBsWrozl9~jb)e`WApbdJGi zVQ6<0GPB>Z4VNch5#p8k`;+xs_zzyBYGz`$D!f`T;+qSr+kEdE(A zRQ<1F`0@V-!?gd?81(<^Gf2IbVvyP|#o*k%fgx_|V}^?7{}~#;{%0t<`15pJ6!t|1^W{|w2=zZk?ei7|*A5n-_WYsujE-;crQzY&AsOG5_nOX3WoS40`?8x}Ey zZ@9})^X(r)^Y8x*L7N{k1T4M4;Jx%bgMq;|1{<4;3|U$K7;0<(Gjw(RXUNI|nfsq1 zFz_n_S1}iZ!YKs?wY_Q#64xXcB=1NvC|y%x5I-%>AUR8tK`tI|6tJ3Im947Uz|boswji%6;%ec z`)Ul*tE3tD+xZy`3VIo$wmoBr-tmILp?f2PW?CDAy82!QKfgZ=`T74DGBW-$=;@td zkdm4PO3K7w7G`EbjTnVIsb%piHRjb!P*lX9V z->`8Lh|SCnGMj~&otc4wwYRT-!o*3FrzkNnuuc`2)--*_%vm7z>^XDibF#B zqz+^pGdl|dYgu_kWmR=eEl5ore|_*(+k}_QqnTAa`Fm_AT`P= zs%q*Qnpz;XwvMizzJZ|;ntvHsIXJnvd3eF)7AqgWfS`~tge@W}CN3cfVk3tq0|P4< cK)eKIf|M{Ii?cAZvBBdDqL2W|$OKIf0N<5k-~a#s literal 0 HcmV?d00001 diff --git a/project/jni/application/lmarbles-1.0.8/src/gfx/logo.bmp b/project/jni/application/lmarbles-1.0.8/src/gfx/logo.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ec2d39e7f85085383649d8af746b6c41dc5e01c0 GIT binary patch literal 180630 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 J%|vTU0RU}COs4<< literal 0 HcmV?d00001 diff --git a/project/jni/application/lmarbles-1.0.8/src/gfx/m_sframe.bmp b/project/jni/application/lmarbles-1.0.8/src/gfx/m_sframe.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4a8280de0645ca8b34b2ed556118ce7f44051eb7 GIT binary patch literal 7434 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 Ugv`5k?fS{HmB)_XKpP|l0MJ=|D*ylh literal 0 HcmV?d00001 diff --git a/project/jni/application/lmarbles-1.0.8/src/gfx/marbles.bmp b/project/jni/application/lmarbles-1.0.8/src/gfx/marbles.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f3a686b5fb4f73fbc72fe3c1889e550439dab077 GIT binary patch literal 82994 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