Compare commits
1 Commits
wxPy_2_8_1
...
WITH_OGL
Author | SHA1 | Date | |
---|---|---|---|
|
50c4c97be9 |
44
.cvsignore
@@ -1,44 +0,0 @@
|
||||
system.list
|
||||
bin
|
||||
.gdb_history
|
||||
Test
|
||||
config.cache
|
||||
configarg.cache
|
||||
config.status
|
||||
system.list
|
||||
linux.system.cache
|
||||
wx-config
|
||||
config.log
|
||||
linux-gnu.system.cache
|
||||
*.dsp
|
||||
*.dsw
|
||||
*.plg
|
||||
*.opt
|
||||
*.aps
|
||||
*.ncb
|
||||
*.pro
|
||||
*.opt
|
||||
*.d
|
||||
*.swp
|
||||
*.swo
|
||||
Release
|
||||
Debug
|
||||
ReleaseDLL
|
||||
DebugDLL
|
||||
robert
|
||||
stamp-h.in
|
||||
Makefile
|
||||
configure
|
||||
setup.h
|
||||
stamp-h
|
||||
libtool
|
||||
aclocal.m4
|
||||
base
|
||||
gtk
|
||||
motif
|
||||
win32
|
||||
base-release
|
||||
gtk-release
|
||||
motif-release
|
||||
win32-release
|
||||
*tags
|
242
BuildCVS.txt
@@ -1,242 +0,0 @@
|
||||
------------------------------------------------------------------------
|
||||
How to build the sources from CVS
|
||||
------------------------------------------------------------------------
|
||||
|
||||
I) Windows using plain makefiles
|
||||
----------------------------------------
|
||||
|
||||
a) If using Microsoft Visual C++ 5.0 or 6.0
|
||||
|
||||
Ensure that the command-line compiler and tools (including
|
||||
nmake) are installed and ready to run. Depending on your
|
||||
installation there may be a batch file (named something like
|
||||
VCVARS32.BAT) that needs to be run to set correct environment
|
||||
varaibles and PATH entries.
|
||||
|
||||
Continue with item c) below.
|
||||
|
||||
|
||||
b) If using the GNU MinGW32 or GNU CygWin32 compilers
|
||||
|
||||
You'll need the compiler itself which is available from
|
||||
|
||||
http://www.cygwin.com
|
||||
|
||||
When using MingW32 you'll need GNU make which is a part
|
||||
of the CygWin32 toolchain and is also available as a stand
|
||||
alone port without the infamous Cygwin.dll from
|
||||
|
||||
http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32
|
||||
|
||||
The makefile has small problems with Cygwin<69>s tools
|
||||
so it is recommended not to use these (but MingGW32
|
||||
and its make.exe).
|
||||
|
||||
-> Set your path so that it includes the directory
|
||||
where your compiler and tools reside
|
||||
|
||||
b-2) Using Mingw32 with gcc-2.95 and Anders Norlander's
|
||||
Win32 headers
|
||||
|
||||
Using the newer gcc-2.95/Noralander header combination
|
||||
will allow you to compile more of the MSW code, such
|
||||
as OLE and Drag-n-Drop.
|
||||
|
||||
Instructions are similar to those for Regular Mingw32 except
|
||||
|
||||
->Get the compiler from
|
||||
ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95/
|
||||
|
||||
->patch the gcc headers with info in wxWin\Mingw32-gcc295.patches.
|
||||
PLEASE APPLY THESE PATCHES BY HAND! There are apparently a few
|
||||
different versions of the headers floating around.
|
||||
|
||||
->Edit wx/src/makeg95.env and set the MINGW32 variable at the top of
|
||||
the file to either 1 (you have Mingw32) or 0 (you have Cygwin32).
|
||||
If using MINGW32, also set the MINGW32VERSION variable
|
||||
appropriately.
|
||||
|
||||
|
||||
c) Build instructions
|
||||
|
||||
-> Assumming that you installed the wxWindows sources
|
||||
into c:\wxWin
|
||||
-> Copy c:\wxWin\include\wx\msw\setup0.h
|
||||
to c:\wxWin\include\wx\msw\setup.h
|
||||
-> Edit c:\wxWin\include\wx\msw\setup.h so that
|
||||
most features are enabled (i.e. defined to 1) with
|
||||
#define wxUSE_ODBC 0
|
||||
#define wxUSE_SOCKETS 0
|
||||
#define wxUSE_HTML 1
|
||||
#define wxUSE_THREADS 1
|
||||
#define wxUSE_FS_INET 0
|
||||
#define wxUSE_FS_ZIP 1
|
||||
#define wxUSE_BUSYINFO 1
|
||||
#define wxUSE_DYNLIB_CLASS 1
|
||||
#define wxUSE_ZIPSTREAM 1
|
||||
#define wxUSE_LIBJPEG 1
|
||||
#define wxUSE_LIBPNG 1
|
||||
|
||||
and iostreams ares disabled with
|
||||
#define wxUSE_STD_IOSTREAM 0
|
||||
|
||||
note: ODBC and SOCKETS can be 1 for gcc-2.95
|
||||
|
||||
-> type: cd c:\wxWin\src\msw
|
||||
-> type: make -f makefile.g95 (if using GNU tools)
|
||||
or type: make -f makefile.vc (if using MS VC++)
|
||||
|
||||
|
||||
II) Unix ports
|
||||
--------------
|
||||
|
||||
Building wxGTK or wxMotif completely without configure
|
||||
won't ever work, but there is now a new makefile system
|
||||
that works without libtool and automake, using only
|
||||
configure to create what is needed.
|
||||
|
||||
In order to create configure, you need to have the
|
||||
GNU autoconf package (version 2.13 or 2.14) installed
|
||||
on your system and type run "autoconf" in the base
|
||||
directory (or run the autogen.sh script in the same
|
||||
directory, which just calls autoconf).
|
||||
|
||||
Set WXWIN environment variable to the base directory such
|
||||
as ~/wxWindows (this is actually not really needed).
|
||||
|
||||
-> type: export WXWIN=~/wxWindows
|
||||
-> type: md mybuild
|
||||
-> type: cd mybuild
|
||||
-> type: ../configure --with-motif
|
||||
or type: ../configure --with-gtk
|
||||
-> type: make
|
||||
-> type: su <type root password>
|
||||
-> type: make install
|
||||
-> type: ldconfig
|
||||
-> type: exit
|
||||
|
||||
Call configure with --disable-shared to create a static
|
||||
library. Calling "make uninstall" will remove the installed
|
||||
library and "make dist" will create a distribution (not
|
||||
yet complete).
|
||||
|
||||
III) Windows using configure
|
||||
----------------------------------------
|
||||
|
||||
Take a look at Unix->Windows cross compiling. With minor
|
||||
modifications, this should work in Windows if you've got the cygnus
|
||||
utilities (bash, GNU make, etc) and either mingw32 or cygwin32 installed.
|
||||
See http://www.cygnus.com for these programs, or go straight to their
|
||||
ftp server at ftp://sourceware.cygnus.com/pub/cygwin/.
|
||||
|
||||
Of course, you can also build the library using plain makefiles (see
|
||||
section I).
|
||||
|
||||
V) MacOS
|
||||
----------------------------------------
|
||||
|
||||
VI) OS/2
|
||||
----------------------------------------
|
||||
|
||||
VII) Unix->Windows cross-compiling using configure
|
||||
--------------------------------------------------
|
||||
|
||||
First you'll need a cross-compiler; linux glibc binaries of mingw32 and
|
||||
cygwin32 (both based on egcs) can be found at
|
||||
ftp://ftp.objsw.com/pub/crossgcc/linux-x-win32. Otherwise you can
|
||||
compile one yourself. Check the relevant FAQs.
|
||||
|
||||
[ A Note about cygwin32 and mingw32: the main difference is that cygwin32
|
||||
binaries are always linked against cygwin.dll. This dll encapsulates most
|
||||
standard Unix C extensions, which is very handy if you're porting unix
|
||||
software to windows. However, wxMSW doesn't need this, so mingw32 is
|
||||
preferable if you write portable C(++). ]
|
||||
|
||||
You might want to build both Unix and Windows binaries in the same source
|
||||
tree; to do this make subdirs for each e.g. unix and win32. If you've
|
||||
already build wxWindows in the main dir, do a 'make distclean' there,
|
||||
otherwise configure will get confused. (In any case, read the section 'Unix
|
||||
using configure' and make sure you're able to build a native wxWindows
|
||||
library; cross-compiling errors can be pretty obscure and you'll want to be
|
||||
sure that your configure setup is basically sound.)
|
||||
|
||||
To cross compile the windows library, do
|
||||
-> cd win32
|
||||
(or whatever you called it)
|
||||
Now run configure. There are two ways to do this
|
||||
-> ../configure --host=i586-mingw32 --build=i586-linux --with-mingw \
|
||||
--enable-dnd=no --without-odbc
|
||||
where --build= should read whatever platform you're building on. Configure
|
||||
will notice that build and host platforms differ, and automatically prepend
|
||||
i586-mingw32- to gcc, ar, ld, etc (make sure they're in the PATH!).
|
||||
The other way to run configure is by specifying the names of the binaries
|
||||
yourself:
|
||||
-> CC=i586-mingw32-gcc CXX=i586-mingw32-g++ RANLIB=i586-mingw32-ranlib \
|
||||
DLLTOOL=i586-mingw32-dlltool LD=i586-mingw32-ld NM=i586-mingw32-nm \
|
||||
../configure --host=i586-mingw32 --with-mingw --enable-dnd=no
|
||||
|
||||
(all assuming you're using mingw32)
|
||||
Drag'n'drop is disabled because mingw32 lacks (AFAIK) OLE headers.
|
||||
|
||||
[ Update: some new mingw32 versions now have a new set of windows header
|
||||
files, which apparently can handle ole. Untested at the moment ]
|
||||
|
||||
ODBC files don't compile as of 13.10.99 - may be this will be fixed by the
|
||||
moment you're reading these lines.
|
||||
|
||||
Configure will conclude that shared libraries are out of the question and
|
||||
opt for a static one. I haven't looked into DLL creation yet.
|
||||
|
||||
Type
|
||||
-> make
|
||||
and wait, wait, wait. Don't leave the room, because the minute you do there
|
||||
will be a compile error :-)
|
||||
|
||||
NB: you risk to get quite a few warnings about "ANSI C++ forbids implicit
|
||||
conversion from 'void *'" in all places where va_arg macro is used. This
|
||||
is due to a bug in (some versions of) mingw32 headers which may be
|
||||
corrected by editing the file
|
||||
|
||||
${install_prefix}/lib/gcc-lib/i586-mingw32/egcs-2.91.57/include/stdarg.h
|
||||
|
||||
(instead of egcs-2.91.57 you may have something different), searching for
|
||||
the lines
|
||||
|
||||
/* Define __gnuc_va_list. */
|
||||
|
||||
#ifndef __GNUC_VA_LIST
|
||||
#define __GNUC_VA_LIST
|
||||
#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__)
|
||||
typedef char *__gnuc_va_list;
|
||||
#else
|
||||
typedef void *__gnuc_va_list;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
and adding "|| defined(_WIN32)" to the list of platforms on which
|
||||
__gnuc_va_list is char *.
|
||||
|
||||
If this is successful, you end up with a libwx_msw.a in win32/lib. Now try
|
||||
building the minimal sample:
|
||||
|
||||
-> cd samples/minimal
|
||||
-> make
|
||||
|
||||
and run it with wine, for example (or copy to a Windows box)
|
||||
-> wine minimal.exe
|
||||
|
||||
If all is well, do an install; from win32
|
||||
-> make install
|
||||
|
||||
Native and cross-compiled installations can co-exist peacefully
|
||||
(as long as their widget sets differ), except for wx-config. You might
|
||||
want to rename the cross-compiled one to i586-mingw32-wx-config, or something.
|
||||
|
||||
Cross-compiling TODO:
|
||||
---------------------
|
||||
- resource compiling must be done manually for now (should/can we link the
|
||||
default wx resources into libwx_msw.a?) [ No we can't; the linker won't
|
||||
link it in... you have to supply an object file ]
|
||||
- dynamic libraries
|
||||
- static executables are HUGE -- there must be room for improvement.
|
||||
|
1134
Makefile.in
@@ -1,144 +0,0 @@
|
||||
*** \gcc-inc\basetyps.h Sat Jul 31 16:48:36 1999
|
||||
--- basetyps.h Fri Aug 06 11:14:36 1999
|
||||
***************
|
||||
*** 74,91 ****
|
||||
--- 74,97 ----
|
||||
STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \
|
||||
}
|
||||
#define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
|
||||
|
||||
+ #ifndef GUID_DEFINED
|
||||
+ #define GUID_DEFINED
|
||||
typedef struct _GUID
|
||||
{
|
||||
unsigned long Data1;
|
||||
unsigned short Data2;
|
||||
unsigned short Data3;
|
||||
unsigned char Data4[8];
|
||||
} GUID;
|
||||
+ #endif /* GUID_DEFINED */
|
||||
typedef GUID *REFGUID;
|
||||
typedef GUID *LPGUID;
|
||||
+ #ifndef UUID_DEFINED
|
||||
+ #define UUID_DEFINED
|
||||
typedef GUID UUID;
|
||||
+ #endif /* UUID_DEFINED */
|
||||
typedef GUID IID;
|
||||
typedef GUID CLSID;
|
||||
typedef CLSID *LPCLSID;
|
||||
typedef IID *LPIID;
|
||||
|
||||
|
||||
*** \gcc-inc\oaidl.h Sat Jul 31 16:48:42 1999
|
||||
--- oaidl.h Fri Aug 06 13:18:48 1999
|
||||
***************
|
||||
*** 39,44 ****
|
||||
--- 39,53 ----
|
||||
#define IMPLTYPEFLAG_FRESTRICTED 4
|
||||
#define IMPLTYPEFLAG_FDEFAULTVTABLE 8
|
||||
|
||||
+ #define DISPID_UNKNOWN ( -1 )
|
||||
+ #define DISPID_VALUE ( 0 )
|
||||
+ #define DISPID_PROPERTYPUT ( -3 )
|
||||
+ #define DISPID_NEWENUM ( -4 )
|
||||
+ #define DISPID_EVALUATE ( -5 )
|
||||
+ #define DISPID_CONSTRUCTOR ( -6 )
|
||||
+ #define DISPID_DESTRUCTOR ( -7 )
|
||||
+ #define DISPID_COLLECT ( -8 )
|
||||
+
|
||||
typedef interface ITypeLib *LPTYPELIB;
|
||||
typedef interface ICreateTypeInfo *LPCREATETYPEINFO;
|
||||
typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
|
||||
***************
|
||||
*** 49,54 ****
|
||||
--- 58,73 ----
|
||||
typedef interface IDispatch *LPDISPATCH;
|
||||
typedef interface ICreateErrorInfo *LPCREATEERRORINFO;
|
||||
|
||||
+ extern "C" const IID IID_ITypeLib;
|
||||
+ extern "C" const IID IID_ICreateTypeInfo;
|
||||
+ extern "C" const IID IID_ICreateTypeInfo2;
|
||||
+ extern "C" const IID IID_ICreateTypeLib;
|
||||
+ extern "C" const IID IID_ICreateTypeLib2;
|
||||
+ extern "C" const IID IID_ITypeInfo;
|
||||
+ extern "C" const IID IID_IErrorInfo;
|
||||
+ extern "C" const IID IID_IDispatch;
|
||||
+ extern "C" const IID IID_ICreateErrorInfo;
|
||||
+
|
||||
typedef enum tagSYSKIND {
|
||||
SYS_WIN16,SYS_WIN32,SYS_MAC
|
||||
} SYSKIND;
|
||||
***************
|
||||
*** 375,382 ****
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
|
||||
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
|
||||
! STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID)
|
||||
PURE;
|
||||
! STDMETHOD(Invoked)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
--- 394,401 ----
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
|
||||
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
|
||||
! STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*)
|
||||
PURE;
|
||||
! STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
|
||||
*** \gcc-inc\objidl.h Sat Jul 31 16:48:42 1999
|
||||
--- objidl.h Fri Aug 06 11:00:19 1999
|
||||
***************
|
||||
*** 627,633 ****
|
||||
STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
|
||||
STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
|
||||
STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
|
||||
! STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC*) PURE;
|
||||
STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
|
||||
STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**);
|
||||
--- 627,633 ----
|
||||
STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
|
||||
STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
|
||||
STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
|
||||
! STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC**) PURE;
|
||||
STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
|
||||
STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
|
||||
STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**);
|
||||
|
||||
|
||||
--- i386-mingw32\include\stdio.h Sun Aug 1 06:18:20 1999
|
||||
+++ stdio.h Sun Nov 7 03:41:40 1999
|
||||
@@ -203,9 +203,12 @@
|
||||
int fprintf (FILE* filePrintTo, const char* szFormat, ...);
|
||||
int printf (const char* szFormat, ...);
|
||||
int sprintf (char* caBuffer, const char* szFormat, ...);
|
||||
+int _snprintf (char* caBuffer, size_t n, const char* szFormat, ...);
|
||||
int vfprintf (FILE* filePrintTo, const char* szFormat, va_list varg);
|
||||
int vprintf (const char* szFormat, va_list varg);
|
||||
int vsprintf (char* caBuffer, const char* szFormat, va_list varg);
|
||||
+int _vsnprintf (char* caBuffer, size_t n, const char* szFormat,
|
||||
+ va_list varg);
|
||||
|
||||
/* Wide character versions */
|
||||
int fwprintf (FILE* filePrintTo, const wchar_t* wsFormat, ...);
|
||||
|
||||
|
||||
|
||||
--- i386-mingw32\include\winbase.h Sat Jul 31 17:48:48 1999
|
||||
+++ winbase.h Fri Feb 25 01:49:08 2000
|
||||
@@ -989,7 +989,7 @@
|
||||
BOOL WINAPI CopyFileExW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
|
||||
#define RtlMoveMemory memmove
|
||||
#define RtlCopyMemory memcpy
|
||||
-#define RtlFillMemory memset
|
||||
+#define RtlFillMemory(d,l,f) memset ((d),(f),(l))
|
||||
#define RtlZeroMemory(d,l) memset((d),0,(l))
|
||||
#define MoveMemory RtlMoveMemory
|
||||
#define CopyMemory RtlCopyMemory
|
||||
|
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
autoconf
|
951
config.guess
vendored
@@ -1,951 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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 <bothner@cygnus.com>.
|
||||
# The master version of this file is at the FSF in /home/gd/gnu/lib.
|
||||
#
|
||||
# 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 system type (host/target name).
|
||||
#
|
||||
# Only a few systems have been added to this list; please add others
|
||||
# (but try to keep the structure clean).
|
||||
#
|
||||
|
||||
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
||||
# (ghazi@noc.rutgers.edu 8/24/94.)
|
||||
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
|
||||
|
||||
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
|
||||
|
||||
# Note: order is significant - the case branches are not exclusive.
|
||||
|
||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
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 <<EOF >dummy.s
|
||||
.globl main
|
||||
.ent main
|
||||
main:
|
||||
.frame \$30,0,\$26,0
|
||||
.prologue 0
|
||||
.long 0x47e03d80 # implver $0
|
||||
lda \$2,259
|
||||
.long 0x47e20c21 # amask $2,$1
|
||||
srl \$1,8,\$2
|
||||
sll \$2,2,\$2
|
||||
sll \$0,3,\$0
|
||||
addl \$1,\$0,\$0
|
||||
addl \$2,\$0,\$0
|
||||
ret \$31,(\$26),1
|
||||
.end main
|
||||
EOF
|
||||
${CC-cc} dummy.s -o dummy 2>/dev/null
|
||||
if test "$?" = 0 ; then
|
||||
./dummy
|
||||
case "$?" in
|
||||
7)
|
||||
UNAME_MACHINE="alpha"
|
||||
;;
|
||||
15)
|
||||
UNAME_MACHINE="alphaev5"
|
||||
;;
|
||||
14)
|
||||
UNAME_MACHINE="alphaev56"
|
||||
;;
|
||||
10)
|
||||
UNAME_MACHINE="alphapca56"
|
||||
;;
|
||||
16)
|
||||
UNAME_MACHINE="alphaev6"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -f dummy.s dummy
|
||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
|
||||
exit 0 ;;
|
||||
21064:Windows_NT:50:3)
|
||||
echo alpha-dec-winnt3.5
|
||||
exit 0 ;;
|
||||
Amiga*:UNIX_System_V:4.0:*)
|
||||
echo m68k-cbm-sysv4
|
||||
exit 0;;
|
||||
amiga:NetBSD:*:*)
|
||||
echo m68k-cbm-netbsd${UNAME_RELEASE}
|
||||
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 ;;
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
exit 0;;
|
||||
arm32:NetBSD:*:*)
|
||||
echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
SR2?01: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 ;;
|
||||
atari*:NetBSD:*:*)
|
||||
echo m68k-atari-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
atari*:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:NetBSD:*:*)
|
||||
echo m68k-sun-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:NetBSD:*:*)
|
||||
echo m68k-apple-netbsd${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 ;;
|
||||
macppc:NetBSD:*:*)
|
||||
echo powerpc-apple-netbsd${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:*:*)
|
||||
echo clipper-intergraph-clix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mips:*:*:UMIPS | mips:*:*:RISCos)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
int main (argc, argv) int argc; char **argv; {
|
||||
#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-cc} dummy.c -o dummy \
|
||||
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
|
||||
&& rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo mips-mips-riscos${UNAME_RELEASE}
|
||||
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 -o $UNAME_PROCESSOR = mc88110 ] ; then
|
||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
|
||||
-o ${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 ;;
|
||||
*:AIX:2:3)
|
||||
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <sys/systemcfg.h>
|
||||
|
||||
main()
|
||||
{
|
||||
if (!__power_pc())
|
||||
exit(1);
|
||||
puts("powerpc-ibm-aix3.2.5");
|
||||
exit(0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm 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:*:4)
|
||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
|
||||
if /usr/sbin/lsattr -EHl ${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=4.${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 NetBSD 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:*:*)
|
||||
case "${UNAME_MACHINE}" in
|
||||
9000/31? ) HP_ARCH=m68000 ;;
|
||||
9000/[34]?? ) HP_ARCH=m68k ;;
|
||||
9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 )
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
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
|
||||
(${CC-cc} dummy.c -o dummy 2>/dev/null ) && HP_ARCH=`./dummy`
|
||||
rm -f dummy.c dummy
|
||||
esac
|
||||
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
||||
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||
exit 0 ;;
|
||||
3050*:HI-UX:*:*)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <unistd.h>
|
||||
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-cc} dummy.c -o dummy && ./dummy && rm 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 ;;
|
||||
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 ;;
|
||||
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}
|
||||
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/
|
||||
exit 0 ;;
|
||||
CRAY*TS:*:*:*)
|
||||
echo t90-cray-unicos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
CRAY-2:*:*:*)
|
||||
echo cray2-cray-unicos
|
||||
exit 0 ;;
|
||||
F300:UNIX_System_V:*:*)
|
||||
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit 0 ;;
|
||||
F301:UNIX_System_V:*:*)
|
||||
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
|
||||
exit 0 ;;
|
||||
hp3[0-9][05]:NetBSD:*:*)
|
||||
echo m68k-hp-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
hp300:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sparc*:BSD/OS:*:*)
|
||||
echo sparc-unknown-bsdi${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i?86:BSD/386:*:* | *:BSD/OS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
*:FreeBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||
exit 0 ;;
|
||||
*:NetBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-netbsd`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-cygwin32
|
||||
exit 0 ;;
|
||||
i*:MINGW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-mingw32
|
||||
exit 0 ;;
|
||||
p*:CYGWIN*:*)
|
||||
echo powerpcle-unknown-cygwin32
|
||||
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 ;;
|
||||
*:Linux:*:*)
|
||||
# uname on the ARM produces all sorts of strangeness, and we need to
|
||||
# filter it out.
|
||||
case "$UNAME_MACHINE" in
|
||||
arm* | sa110*) UNAME_MACHINE="arm" ;;
|
||||
esac
|
||||
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us.
|
||||
ld_help_string=`ld --help 2>&1`
|
||||
ld_supported_emulations=`echo $ld_help_string \
|
||||
| sed -ne '/supported emulations:/!d
|
||||
s/[ ][ ]*/ /g
|
||||
s/.*supported emulations: *//
|
||||
s/ .*//
|
||||
p'`
|
||||
case "$ld_supported_emulations" in
|
||||
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
|
||||
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
|
||||
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
|
||||
esac
|
||||
|
||||
if test "${UNAME_MACHINE}" = "alpha" ; then
|
||||
sed 's/^ //' <<EOF >dummy.s
|
||||
.globl main
|
||||
.ent main
|
||||
main:
|
||||
.frame \$30,0,\$26,0
|
||||
.prologue 0
|
||||
.long 0x47e03d80 # implver $0
|
||||
lda \$2,259
|
||||
.long 0x47e20c21 # amask $2,$1
|
||||
srl \$1,8,\$2
|
||||
sll \$2,2,\$2
|
||||
sll \$0,3,\$0
|
||||
addl \$1,\$0,\$0
|
||||
addl \$2,\$0,\$0
|
||||
ret \$31,(\$26),1
|
||||
.end main
|
||||
EOF
|
||||
LIBC=""
|
||||
${CC-cc} dummy.s -o dummy 2>/dev/null
|
||||
if test "$?" = 0 ; then
|
||||
./dummy
|
||||
case "$?" in
|
||||
7)
|
||||
UNAME_MACHINE="alpha"
|
||||
;;
|
||||
15)
|
||||
UNAME_MACHINE="alphaev5"
|
||||
;;
|
||||
14)
|
||||
UNAME_MACHINE="alphaev56"
|
||||
;;
|
||||
10)
|
||||
UNAME_MACHINE="alphapca56"
|
||||
;;
|
||||
16)
|
||||
UNAME_MACHINE="alphaev6"
|
||||
;;
|
||||
esac
|
||||
|
||||
objdump --private-headers dummy | \
|
||||
grep ld.so.1 > /dev/null
|
||||
if test "$?" = 0 ; then
|
||||
LIBC="libc1"
|
||||
fi
|
||||
fi
|
||||
rm -f dummy.s dummy
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
|
||||
elif test "${UNAME_MACHINE}" = "mips" ; then
|
||||
cat >dummy.c <<EOF
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
#ifdef __MIPSEB__
|
||||
printf ("%s-unknown-linux-gnu\n", argv[1]);
|
||||
#endif
|
||||
#ifdef __MIPSEL__
|
||||
printf ("%sel-unknown-linux-gnu\n", argv[1]);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
else
|
||||
# Either a pre-BFD a.out linker (linux-gnuoldld)
|
||||
# or one that does not give us useful --help.
|
||||
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
|
||||
# If ld does not provide *any* "supported emulations:"
|
||||
# that means it is gnuoldld.
|
||||
echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
|
||||
test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
|
||||
|
||||
case "${UNAME_MACHINE}" in
|
||||
i?86)
|
||||
VENDOR=pc;
|
||||
;;
|
||||
*)
|
||||
VENDOR=unknown;
|
||||
;;
|
||||
esac
|
||||
# Determine whether the default compiler is a.out or elf
|
||||
cat >dummy.c <<EOF
|
||||
#include <features.h>
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
#ifdef __ELF__
|
||||
# ifdef __GLIBC__
|
||||
# if __GLIBC__ >= 2
|
||||
printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
|
||||
# else
|
||||
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
|
||||
# endif
|
||||
# else
|
||||
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
|
||||
# endif
|
||||
#else
|
||||
printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
fi ;;
|
||||
# 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.
|
||||
i?86:DYNIX/ptx:4*:*)
|
||||
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.*:*)
|
||||
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
||||
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
i?86:*:3.2:*)
|
||||
if test -f /usr/options/cb.name; then
|
||||
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
|
||||
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
|
||||
elif /bin/uname -X 2>/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
|
||||
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
|
||||
else
|
||||
echo ${UNAME_MACHINE}-pc-sysv32
|
||||
fi
|
||||
exit 0 ;;
|
||||
i?86:UnixWare:*:*)
|
||||
if /bin/uname -X 2>/dev/null >/dev/null ; then
|
||||
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
|
||||
&& UNAME_MACHINE=i586
|
||||
fi
|
||||
echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}
|
||||
exit 0 ;;
|
||||
pc:*:*:*)
|
||||
# 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]??,*:*: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.*:*)
|
||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mc68030:UNIX_System_V:4.*:*)
|
||||
echo m68k-atari-sysv4
|
||||
exit 0 ;;
|
||||
i?86:LynxOS:2.*:*)
|
||||
echo i386-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
TSUNAMI:LynxOS:2.*:*)
|
||||
echo sparc-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
|
||||
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
SM[BE]S:UNIX_SV:*:*)
|
||||
echo mips-dde-sysv${UNAME_RELEASE}
|
||||
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:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit 0 ;;
|
||||
*:UNIX_System_V:4*:FTX*)
|
||||
# From Gerald Hewes <hewes@openmarket.com>.
|
||||
# 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 ;;
|
||||
mc68*:A/UX:*:*)
|
||||
echo m68k-apple-aux${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
news*:NEWS-OS:*:6*)
|
||||
echo mips-sony-newsos6
|
||||
exit 0 ;;
|
||||
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000: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 ;;
|
||||
esac
|
||||
|
||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
||||
|
||||
cat >dummy.c <<EOF
|
||||
#ifdef _SEQUENT_
|
||||
# include <sys/types.h>
|
||||
# include <sys/utsname.h>
|
||||
#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 <sys/param.h>
|
||||
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`;
|
||||
printf ("%s-next-nextstep%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)
|
||||
printf ("vax-dec-bsd\n"); exit (0);
|
||||
#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-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm 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
|
||||
|
||||
#echo '(Unable to guess system type)' 1>&2
|
||||
|
||||
exit 1
|
955
config.sub
vendored
@@ -1,955 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script, version 1.1.
|
||||
# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
|
||||
# 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.
|
||||
|
||||
# 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.
|
||||
|
||||
if [ x$1 = x ]
|
||||
then
|
||||
echo Configuration name missing. 1>&2
|
||||
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
|
||||
echo "or $0 ALIAS" 1>&2
|
||||
echo where ALIAS is a recognized configuration type. 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# First pass through any local machine types.
|
||||
case $1 in
|
||||
*local*)
|
||||
echo $1
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
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
|
||||
linux-gnu*)
|
||||
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)
|
||||
os=
|
||||
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/'`
|
||||
;;
|
||||
-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
|
||||
;;
|
||||
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.
|
||||
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
|
||||
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
|
||||
| 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \
|
||||
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
|
||||
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
|
||||
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
|
||||
| mipstx39 | mipstx39el \
|
||||
| sparc | sparclet | sparclite | sparc64 | v850)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
# 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[34567]86)
|
||||
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.
|
||||
vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
|
||||
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
|
||||
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
|
||||
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
|
||||
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \
|
||||
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
|
||||
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
|
||||
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
|
||||
| sparc64-* | mips64-* | mipsel-* \
|
||||
| mips64el-* | mips64orion-* | mips64orionel-* \
|
||||
| mipstx39-* | mipstx39el-* \
|
||||
| f301-*)
|
||||
;;
|
||||
# Recognize the various machine names and aliases which stand
|
||||
# for a CPU type and a company and sometimes even an OS.
|
||||
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
||||
basic_machine=m68000-att
|
||||
;;
|
||||
3b*)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
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-cbm
|
||||
;;
|
||||
amigaos | amigados)
|
||||
basic_machine=m68k-cbm
|
||||
os=-amigaos
|
||||
;;
|
||||
amigaunix | amix)
|
||||
basic_machine=m68k-cbm
|
||||
os=-sysv4
|
||||
;;
|
||||
apollo68)
|
||||
basic_machine=m68k-apollo
|
||||
os=-sysv
|
||||
;;
|
||||
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
|
||||
;;
|
||||
[ctj]90-cray)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
crds | unos)
|
||||
basic_machine=m68k-crds
|
||||
;;
|
||||
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
|
||||
;;
|
||||
fx2800)
|
||||
basic_machine=i860-alliant
|
||||
;;
|
||||
genix)
|
||||
basic_machine=ns32k-ns
|
||||
;;
|
||||
gmicro)
|
||||
basic_machine=tron-gmicro
|
||||
os=-sysv
|
||||
;;
|
||||
h3050r* | hiux*)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
h8300hms)
|
||||
basic_machine=h8300-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
|
||||
;;
|
||||
hp9k2[0-9][0-9] | hp9k31[0-9])
|
||||
basic_machine=m68000-hp
|
||||
;;
|
||||
hp9k3[2-9][0-9])
|
||||
basic_machine=m68k-hp
|
||||
;;
|
||||
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
|
||||
basic_machine=hppa1.1-hp
|
||||
;;
|
||||
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
||||
basic_machine=hppa1.0-hp
|
||||
;;
|
||||
hppa-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
i370-ibm* | ibm*)
|
||||
basic_machine=i370-ibm
|
||||
os=-mvs
|
||||
;;
|
||||
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
|
||||
i[34567]86v32)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv32
|
||||
;;
|
||||
i[34567]86v4*)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv4
|
||||
;;
|
||||
i[34567]86v)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv
|
||||
;;
|
||||
i[34567]86sol2)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-solaris2
|
||||
;;
|
||||
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
|
||||
;;
|
||||
miniframe)
|
||||
basic_machine=m68000-convergent
|
||||
;;
|
||||
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
|
||||
;;
|
||||
ncr3000)
|
||||
basic_machine=i486-ncr
|
||||
os=-sysv4
|
||||
;;
|
||||
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
|
||||
;;
|
||||
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
|
||||
;;
|
||||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
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 | nexen)
|
||||
basic_machine=i586-pc
|
||||
;;
|
||||
pentiumpro | p6 | k6 | 6x86)
|
||||
basic_machine=i686-pc
|
||||
;;
|
||||
pentiumii | pentium2)
|
||||
basic_machine=i786-pc
|
||||
;;
|
||||
pentium-* | p5-* | k5-* | nexen-*)
|
||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumpro-* | p6-* | k6-* | 6x86-*)
|
||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumii-* | pentium2-*)
|
||||
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pn)
|
||||
basic_machine=pn-gould
|
||||
;;
|
||||
power) basic_machine=rs6000-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/^[^-]*-//'`
|
||||
;;
|
||||
ps2)
|
||||
basic_machine=i386-ibm
|
||||
;;
|
||||
rm[46]00)
|
||||
basic_machine=mips-siemens
|
||||
;;
|
||||
rtpc | rtpc-*)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
sequent)
|
||||
basic_machine=i386-sequent
|
||||
;;
|
||||
sh)
|
||||
basic_machine=sh-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
sps7)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv2
|
||||
;;
|
||||
spur)
|
||||
basic_machine=spur-unknown
|
||||
;;
|
||||
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
|
||||
;;
|
||||
symmetry)
|
||||
basic_machine=i386-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
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
|
||||
;;
|
||||
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
|
||||
;;
|
||||
xmp)
|
||||
basic_machine=xmp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
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.
|
||||
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
|
||||
;;
|
||||
pdp11)
|
||||
basic_machine=pdp11-dec
|
||||
;;
|
||||
we32k)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
sparc)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
cydra)
|
||||
basic_machine=cydra-cydrome
|
||||
;;
|
||||
orion)
|
||||
basic_machine=orion-highlevel
|
||||
;;
|
||||
orion105)
|
||||
basic_machine=clipper-highlevel
|
||||
;;
|
||||
*)
|
||||
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* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -uxpv* | -beos*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-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|'`
|
||||
;;
|
||||
-osfrose*)
|
||||
os=-osfrose
|
||||
;;
|
||||
-osf*)
|
||||
os=-osf
|
||||
;;
|
||||
-utek*)
|
||||
os=-bsd
|
||||
;;
|
||||
-dynix*)
|
||||
os=-bsd
|
||||
;;
|
||||
-acis*)
|
||||
os=-aos
|
||||
;;
|
||||
-ctix* | -uts*)
|
||||
os=-sysv
|
||||
;;
|
||||
-ns2 )
|
||||
os=-nextstep2
|
||||
;;
|
||||
# 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*)
|
||||
;;
|
||||
-xenix)
|
||||
os=-xenix
|
||||
;;
|
||||
-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*-semi)
|
||||
os=-aout
|
||||
;;
|
||||
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
|
||||
;;
|
||||
*-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
|
||||
;;
|
||||
*-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
|
||||
;;
|
||||
f301-fujitsu)
|
||||
os=-uxpv
|
||||
;;
|
||||
*)
|
||||
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
|
||||
;;
|
||||
-hpux*)
|
||||
vendor=hp
|
||||
;;
|
||||
-hiux*)
|
||||
vendor=hitachi
|
||||
;;
|
||||
-unos*)
|
||||
vendor=crds
|
||||
;;
|
||||
-dgux*)
|
||||
vendor=dg
|
||||
;;
|
||||
-luna*)
|
||||
vendor=omron
|
||||
;;
|
||||
-genix*)
|
||||
vendor=ns
|
||||
;;
|
||||
-mvs*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-ptx*)
|
||||
vendor=sequent
|
||||
;;
|
||||
-vxsim* | -vxworks*)
|
||||
vendor=wrs
|
||||
;;
|
||||
-aux*)
|
||||
vendor=apple
|
||||
;;
|
||||
esac
|
||||
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
||||
;;
|
||||
esac
|
||||
|
||||
echo $basic_machine$os
|
13
debian/README.Debian
vendored
@@ -1,13 +0,0 @@
|
||||
wxwindows for Debian
|
||||
----------------------
|
||||
|
||||
The following packages are built from the wxWindows CVS source.
|
||||
|
||||
libwxgtk wxGTK shared library
|
||||
libwxgtk-dev Headers and static lib for building wxGTK apps
|
||||
libwxgtk-python Python binding to wxGTK
|
||||
wxwin-doc HTML version of the wxWindows manual
|
||||
wxwin-examples wxWindows and wxPython demos and samples (source)
|
||||
|
||||
|
||||
-- Ron Lee <ron@debian.org>, Sun, 13 Feb 2000 18:40:00 +1030
|
9
debian/changelog
vendored
@@ -1,9 +0,0 @@
|
||||
wxwindows2.1 (2.1.14) unstable; urgency=low
|
||||
|
||||
* Repackaged to build from cvs.
|
||||
|
||||
-- Ron Lee <ron@debian.org> Sun, 13 Feb 2000 18:40:00 +1030
|
||||
|
||||
Local variables:
|
||||
mode: debian-changelog
|
||||
End:
|
107
debian/control.in
vendored
@@ -1,107 +0,0 @@
|
||||
Source: wxwindows=V
|
||||
Section: libs
|
||||
Priority: optional
|
||||
Build-Depends: debhelper, libgtk1.2-dev, python-dev (>=1.5), flex, bison
|
||||
Maintainer: Ron Lee <ron@debian.org>
|
||||
Standards-Version: 3.1.1
|
||||
|
||||
Package: libwxbase=V
|
||||
Architecture: any
|
||||
Section: libs
|
||||
Depends: ${shlibs:Depends}
|
||||
Description: wxBase library (runtime) - non-GUI support classes of wxWindows toolkit
|
||||
wxBase is a collection of C++ classes providing basic data structures
|
||||
(strings, lists, arrays), powerful wxDateTime class for date manipulations,
|
||||
portable wrappers around many OS-specific functions allowing to build the
|
||||
same program under all supported folders, wxThread class for writing
|
||||
multithreaded programs using either Win32 or POSIX threads and much more.
|
||||
wxBase currently supports the following platforms: Win32, generic Unix
|
||||
(Linux, FreeBSD, Solaris, HP-UX, ...) and BeOS.
|
||||
.
|
||||
This package is only useful for non-gui apps. It offers a subset of the
|
||||
classes in libwx_gtk=V for use in console apps and daemons. It is currently
|
||||
under development and may not be as stable as the gui version.
|
||||
|
||||
Package: libwxbase=V-dev
|
||||
Architecture: any
|
||||
Section: devel
|
||||
Depends: libwxbase=V (= ${Source-Version}), libwxgtk=V-dev (= ${Source-Version}), libc6-dev
|
||||
Suggests: wxwin=V-doc, gettext
|
||||
Conflicts: libwxbase-dev
|
||||
Replaces: libwxbase-dev
|
||||
Provides: libwxbase-dev
|
||||
Description: wxBase library (development) - non-GUI support classes of wxWindows toolkit
|
||||
wxBase is a collection of C++ classes providing basic data structures
|
||||
(strings, lists, arrays), powerful wxDateTime class for date manipulations,
|
||||
portable wrappers around many OS-specific functions allowing to build the
|
||||
same program under all supported folders, wxThread class for writing
|
||||
multithreaded programs using either Win32 or POSIX threads and much more.
|
||||
wxBase currently supports the following platforms: Win32, generic Unix
|
||||
(Linux, FreeBSD, Solaris, HP-UX, ...) and BeOS.
|
||||
.
|
||||
This package is only useful for non-gui apps. It offers a subset of the
|
||||
classes in libwx_gtk=V for use in console apps and daemons. It is currently
|
||||
under development and may not be as stable as the gui version.
|
||||
|
||||
Package: libwxgtk=V
|
||||
Architecture: any
|
||||
Section: libs
|
||||
Depends: ${shlibs:Depends}
|
||||
Description: wxWindows Cross-platform C++ GUI toolkit (GTK+ runtime)
|
||||
wxWindows is a class library for C++ providing GUI (Graphical User
|
||||
Interface) and other facilities on more than one platform. Version 2.1
|
||||
currently supports subsets of GTK+, Motif, and MS Windows.
|
||||
.
|
||||
This package provides the shared libraries needed to run programs linked
|
||||
against wxWindows.
|
||||
|
||||
Package: libwxgtk=V-dev
|
||||
Architecture: any
|
||||
Section: devel
|
||||
Depends: libwxgtk=V (= ${Source-Version}), libc6-dev
|
||||
Suggests: wxwin=V-doc, libstdc++-dev, gettext
|
||||
Conflicts: libwxgtk-dev
|
||||
Replaces: libwxgtk-dev
|
||||
Provides: libwxgtk-dev
|
||||
Description: wxWindows Cross-platform C++ GUI toolkit (GTK+ development)
|
||||
wxWindows is a class library for C++ providing GUI (Graphical User
|
||||
Interface) and other facilities on more than one platform. Version 2.1
|
||||
currently supports subsets of GTK+, Motif, and MS Windows.
|
||||
.
|
||||
This package provides files needed to compile wxWindows programs. It
|
||||
includes header files and static libraries.
|
||||
|
||||
Package: libwxgtk=V-python
|
||||
Architecture: any
|
||||
Section: interpreters
|
||||
Depends: libwxgtk=V (= ${Source-Version}), python-base (>=1.5), ${shlibs:Depends}
|
||||
Suggests: wxwin=V-doc
|
||||
Description: wxWindows Cross-platform C++ GUI toolkit (Python binding)
|
||||
wxWindows is a class library for C++ providing GUI (Graphical User
|
||||
Interface) and other facilities on more than one platform. Version 2.1
|
||||
currently supports subsets of GTK+, Motif, and MS Windows.
|
||||
.
|
||||
This package provides a Python binding to the wxGTK library.
|
||||
|
||||
Package: wxwin=V-doc
|
||||
Architecture: all
|
||||
Section: doc
|
||||
Suggests: doc-base, www-browser
|
||||
Description: wxWindows Cross-platform C++ GUI toolkit (documentation)
|
||||
wxWindows is a class library for C++ providing GUI (Graphical User
|
||||
Interface) and other facilities on more than one platform. Version 2.1
|
||||
currently supports subsets of GTK+, Motif, and MS Windows.
|
||||
.
|
||||
This package provides a HTML version of the wxWindows reference manual.
|
||||
|
||||
Package: wxwin=V-examples
|
||||
Architecture: all
|
||||
Section: devel
|
||||
Suggests: libwxgtk=V-dev (= ${Source-Version}), wxwin=V-doc
|
||||
Description: wxWindows Cross-platform C++ GUI toolkit (examples)
|
||||
wxWindows is a class library for C++ providing GUI (Graphical User
|
||||
Interface) and other facilities on more than one platform. Version 2.1
|
||||
currently supports subsets of GTK+, Motif, and MS Windows.
|
||||
.
|
||||
This package contains examples of using the wxWindows toolkit.
|
||||
|
18
debian/copyright
vendored
@@ -1,18 +0,0 @@
|
||||
This package was debianized by Ron Lee <ron@debian.org> on
|
||||
Sun, 13 Feb 2000 18:40:00 +1030.
|
||||
|
||||
wxWindows main upstream site is www.wxwindows.org
|
||||
|
||||
wxWindows is licenced under the LGPL with a special exception for
|
||||
binary only apps produced with it. Some parts of the library (as
|
||||
compiled for Debian) might *not* include this extra exception in
|
||||
their licence. If you wish to distribute binary object code under
|
||||
terms other than those allowed by the (L)GPL (but allowed by the
|
||||
wxWindows Licence), you must first ensure all linked in code is
|
||||
subject to this exception. This package is almost certainly built
|
||||
with code licenced under terms which do not include that exception.
|
||||
|
||||
|
||||
See the file licence.txt for authorative details of
|
||||
the wxWindows licence.
|
||||
|
3
debian/libwxbase-dev.dirs
vendored
@@ -1,3 +0,0 @@
|
||||
usr/bin
|
||||
usr/lib/wx/include/wx
|
||||
usr/share/man/man1
|
3
debian/libwxbase-dev.docs
vendored
@@ -1,3 +0,0 @@
|
||||
docs/preamble.txt
|
||||
docs/licence.txt
|
||||
docs/licendoc.txt
|
4
debian/libwxbase-dev.files
vendored
@@ -1,4 +0,0 @@
|
||||
usr/bin/wxbase-config
|
||||
usr/lib/wx/include/wx/base/setup.h
|
||||
usr/lib/libwxbase*.so
|
||||
usr/lib/libwxbase*.a
|
1
debian/libwxbase-dev.links
vendored
@@ -1 +0,0 @@
|
||||
usr/share/man/man1/wx-config.1.gz usr/share/man/man1/wxbase-config.1.gz
|
7
debian/libwxbase-dev.postinst
vendored
@@ -1,7 +0,0 @@
|
||||
#! /bin/sh
|
||||
set -e
|
||||
|
||||
update-alternatives --install /usr/bin/wx-config wx-config /usr/bin/wxbase-config 50
|
||||
|
||||
#DEBHELPER#
|
||||
|
7
debian/libwxbase-dev.prerm
vendored
@@ -1,7 +0,0 @@
|
||||
#! /bin/sh
|
||||
set -e
|
||||
|
||||
update-alternatives --remove wx-config /usr/bin/wxbase-config
|
||||
|
||||
#DEBHELPER#
|
||||
|
1
debian/libwxbase.dirs
vendored
@@ -1 +0,0 @@
|
||||
usr/lib
|
1
debian/libwxbase.docs
vendored
@@ -1 +0,0 @@
|
||||
docs/licence.txt
|
1
debian/libwxbase.files
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/libwxbase*.so.*
|
10
debian/libwxbase.postinst
vendored
@@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$1" = "configure" ]; then
|
||||
ldconfig
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
4
debian/libwxgtk-dev.dirs
vendored
@@ -1,4 +0,0 @@
|
||||
usr/bin
|
||||
usr/lib/wx/include/wx/gtk/
|
||||
usr/include/wx
|
||||
usr/share/man/man1
|
3
debian/libwxgtk-dev.docs
vendored
@@ -1,3 +0,0 @@
|
||||
docs/preamble.txt
|
||||
docs/licence.txt
|
||||
docs/licendoc.txt
|
5
debian/libwxgtk-dev.files
vendored
@@ -1,5 +0,0 @@
|
||||
usr/bin/wxgtk-config
|
||||
usr/include/wx/
|
||||
usr/lib/wx/include/wx/gtk/setup.h
|
||||
usr/lib/libwx_gtk*.so
|
||||
usr/lib/libwx_gtk*.a
|
1
debian/libwxgtk-dev.links
vendored
@@ -1 +0,0 @@
|
||||
usr/share/man/man1/wx-config.1.gz usr/share/man/man1/wxgtk-config.1.gz
|
7
debian/libwxgtk-dev.postinst
vendored
@@ -1,7 +0,0 @@
|
||||
#! /bin/sh
|
||||
set -e
|
||||
|
||||
update-alternatives --install /usr/bin/wx-config wx-config /usr/bin/wxgtk-config 50
|
||||
|
||||
#DEBHELPER#
|
||||
|
7
debian/libwxgtk-dev.prerm
vendored
@@ -1,7 +0,0 @@
|
||||
#! /bin/sh
|
||||
set -e
|
||||
|
||||
update-alternatives --remove wx-config /usr/bin/wxgtk-config
|
||||
|
||||
#DEBHELPER#
|
||||
|
1
debian/libwxgtk-python.dirs
vendored
@@ -1 +0,0 @@
|
||||
usr/lib/python1.5/site-packages/wxPython/lib/sizers
|
3
debian/libwxgtk-python.docs
vendored
@@ -1,3 +0,0 @@
|
||||
utils/wxPython/README.txt
|
||||
utils/wxPython/CHANGES.txt
|
||||
docs/licence.txt
|
2
debian/libwxgtk-python.files
vendored
@@ -1,2 +0,0 @@
|
||||
usr/lib/python1.5/site-packages/wxPython
|
||||
usr/lib/libwxPyHelpers.so
|
14
debian/libwxgtk-python.postinst
vendored
@@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
WXPYTHONDIR="/usr/lib/python1.5/site-packages/wxPython"
|
||||
|
||||
if [ "$1" = "configure" ]; then
|
||||
python /usr/lib/python1.5/compileall.py -q ${WXPYTHONDIR}
|
||||
python -O /usr/lib/python1.5/compileall.py -q ${WXPYTHONDIR}
|
||||
ldconfig
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
9
debian/libwxgtk-python.prerm
vendored
@@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
WXPYTHONDIR="/usr/lib/python1.5/site-packages/wxPython"
|
||||
find ${WXPYTHONDIR} -name "*.py?" -exec rm -f {} \;
|
||||
|
||||
#DEBHELPER#
|
||||
|
3
debian/libwxgtk.dirs
vendored
@@ -1,3 +0,0 @@
|
||||
usr/lib
|
||||
usr/share/wx/afm
|
||||
usr/share/wx/gs_afm
|
1
debian/libwxgtk.docs
vendored
@@ -1 +0,0 @@
|
||||
docs/licence.txt
|
2
debian/libwxgtk.files
vendored
@@ -1,2 +0,0 @@
|
||||
usr/lib/libwx_gtk*.so.*
|
||||
usr/share/wx
|
10
debian/libwxgtk.postinst
vendored
@@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$1" = "configure" ]; then
|
||||
ldconfig
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
237
debian/rules
vendored
@@ -1,237 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
# debian/rules file to build packages from wxWindows CVS source
|
||||
#
|
||||
# Sculpted 13/2/2000 by Ron Lee <ron@debian.org> from new and
|
||||
# variously stolen code :-)
|
||||
# (including a debhelper template, GNU copyright 1997 to 1999 by
|
||||
# Joey Hess, and some ideas found in the ncurses rules file that
|
||||
# I quite liked. Thanks!)
|
||||
|
||||
#export DH_VERBOSE=1
|
||||
export DH_COMPAT=2
|
||||
|
||||
release:=$(shell dpkg-parsechangelog | sed -n 's/^Source: wxwindows//p')
|
||||
|
||||
# Packages to build:
|
||||
package_wxbase_lib=libwxbase$(release)
|
||||
package_wxbase_dev=libwxbase$(release)-dev
|
||||
package_gtk_lib=libwxgtk$(release)
|
||||
package_gtk_dev=libwxgtk$(release)-dev
|
||||
package_gtk_py=libwxgtk$(release)-python
|
||||
package_doc=wxwin$(release)-doc
|
||||
package_examples=wxwin$(release)-examples
|
||||
|
||||
# Build directories:
|
||||
objdir_wxbase_shared=objs_wxbase_sh
|
||||
objdir_wxbase_static=objs_wxbase_st
|
||||
objdir_gtk_shared=objs_gtk_sh
|
||||
objdir_gtk_static=objs_gtk_st
|
||||
objdir_doc_cruft=objs_doc_con
|
||||
objdir_doc=docs/wxWindows-manual.html
|
||||
objdir_examples=docs/examples
|
||||
objdirs=$(objdir_wxbase_shared) $(objdir_wxbase_static) $(objdir_gtk_shared) \
|
||||
$(objdir_gtk_static) $(objdir_doc) $(objdir_examples)
|
||||
|
||||
build_stamps=build-wxbase-shared-stamp build-wxbase-static-stamp \
|
||||
build-gtk-shared-stamp build-gtk-static-stamp \
|
||||
build-gtk-python-stamp build-examples-stamp build-doc-stamp
|
||||
|
||||
wxconfig:=$(shell pwd)/$(objdir_gtk_shared)/wx-config \
|
||||
--prefix=$(shell pwd) \
|
||||
--exec-prefix=$(shell pwd)/$(objdir_gtk_shared)
|
||||
|
||||
|
||||
# The Rules:
|
||||
|
||||
debian/control: debian/control.in
|
||||
sed -e 's/=V/$(release)/g' < debian/control.in > debian/control
|
||||
|
||||
debian/wxwin-doc.doc-base: debian/wxwin-doc.doc-base.in
|
||||
sed -e 's/=V/$(release)/g' < debian/wxwin-doc.doc-base.in > debian/wxwin-doc.doc-base
|
||||
|
||||
build: debian/control debian/wxwin-doc.doc-base $(build_stamps)
|
||||
|
||||
build-wxbase-shared-stamp:
|
||||
dh_testdir
|
||||
mkdir $(objdir_wxbase_shared)
|
||||
cd $(objdir_wxbase_shared) \
|
||||
&& ../configure --prefix=/usr --disable-gui --enable-burnt_name \
|
||||
&& $(MAKE)
|
||||
touch $@
|
||||
|
||||
build-wxbase-static-stamp:
|
||||
dh_testdir
|
||||
mkdir $(objdir_wxbase_static)
|
||||
cd $(objdir_wxbase_static) \
|
||||
&& ../configure --prefix=/usr --disable-gui --disable-shared \
|
||||
&& $(MAKE)
|
||||
touch $@
|
||||
|
||||
build-gtk-shared-stamp:
|
||||
dh_testdir
|
||||
mkdir $(objdir_gtk_shared)
|
||||
cd $(objdir_gtk_shared) \
|
||||
&& ../configure --prefix=/usr --with-gtk --enable-burnt_name --disable-newgrid \
|
||||
&& $(MAKE)
|
||||
touch $@
|
||||
|
||||
build-gtk-static-stamp:
|
||||
dh_testdir
|
||||
mkdir $(objdir_gtk_static)
|
||||
cd $(objdir_gtk_static) \
|
||||
&& ../configure --prefix=/usr --with-gtk --disable-shared \
|
||||
&& $(MAKE)
|
||||
touch $@
|
||||
|
||||
build-gtk-python-stamp: build-gtk-shared-stamp
|
||||
dh_testdir
|
||||
cd utils/wxPython/src \
|
||||
&& touch gtk/*.cpp gtk/*.py \
|
||||
&& ../distrib/build.py -b WXDIR=../../.. WXCONFIG='$(wxconfig)'
|
||||
cd utils/wxPython/modules/html \
|
||||
&& ../../distrib/build.py -b WXDIR=../../../.. WXCONFIG='$(wxconfig)'
|
||||
cd utils/wxPython/modules/utils \
|
||||
&& ../../distrib/build.py -b WXDIR=../../../.. WXCONFIG='$(wxconfig)'
|
||||
touch $@
|
||||
|
||||
build-doc-stamp: build-gtk-shared-stamp
|
||||
dh_testdir
|
||||
cd $(objdir_gtk_shared)/utils/tex2rtf/src \
|
||||
&& $(MAKE)
|
||||
mkdir $(objdir_doc)
|
||||
mkdir $(objdir_doc_cruft)
|
||||
cd $(objdir_doc_cruft) \
|
||||
&& LD_LIBRARY_PATH=../$(objdir_gtk_shared)/lib \
|
||||
../$(objdir_gtk_shared)/utils/tex2rtf/src/tex2rtf \
|
||||
../docs/latex/wx/manual.tex ../$(objdir_doc)/wxwin.htm -twice -html
|
||||
cp docs/latex/wx/*.gif $(objdir_doc)
|
||||
rm -rf $(objdir_doc_cruft)
|
||||
rm -f $(objdir_doc)/wxwin.con $(objdir_doc)/wxwin.hh* \
|
||||
$(objdir_doc)/wxwin.htx $(objdir_doc)/wxwin.ref
|
||||
touch $@
|
||||
|
||||
build-examples-stamp:
|
||||
dh_testdir
|
||||
mkdir $(objdir_examples)
|
||||
cp -a samples $(objdir_examples)
|
||||
cp -a demos $(objdir_examples)
|
||||
cp -a utils/wxPython/demo $(objdir_examples)/wxPython
|
||||
@for d in $(objdir_examples)/demos $(objdir_examples)/samples; do \
|
||||
(cd $$d \
|
||||
&& mv Makefile.in Makefile \
|
||||
&& rm -f configure* \
|
||||
&& find -name 'Makefile.in' -exec rm -f '{}' ';' \
|
||||
&& for f in $$(find -type d); do \
|
||||
if [ -f $$f/makefile.unx ]; then \
|
||||
mv $$f/makefile.unx $$f/Makefile; \
|
||||
fi; \
|
||||
done) \
|
||||
done;
|
||||
touch $@
|
||||
|
||||
clean: debian/control
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -rf $(build_stamps) $(objdirs)
|
||||
-cd utils/wxPython/src && $(MAKE) clean
|
||||
-cd utils/wxPython/modules/html && $(MAKE) clean
|
||||
-cd utils/wxPython/modules/utils && $(MAKE) clean
|
||||
dh_clean
|
||||
rm -f debian/$(package_wxbase_lib).*
|
||||
rm -f debian/$(package_wxbase_dev).*
|
||||
rm -f debian/$(package_gtk_lib).*
|
||||
rm -f debian/$(package_gtk_dev).*
|
||||
rm -f debian/$(package_gtk_py).*
|
||||
rm -f debian/$(package_doc).*
|
||||
rm -f debian/$(package_examples).*
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
@for f in dirs docs files postinst; do \
|
||||
echo "generating control file $(package_wxbase_lib).$$f"; \
|
||||
cp debian/libwxbase.$$f debian/$(package_wxbase_lib).$$f; \
|
||||
done;
|
||||
@for f in dirs docs files links postinst prerm; do \
|
||||
echo "generating control file $(package_wxbase_dev).$$f"; \
|
||||
cp debian/libwxbase-dev.$$f debian/$(package_wxbase_dev).$$f; \
|
||||
done;
|
||||
@for f in dirs docs files postinst; do \
|
||||
echo "generating control file $(package_gtk_lib).$$f"; \
|
||||
cp debian/libwxgtk.$$f debian/$(package_gtk_lib).$$f; \
|
||||
done;
|
||||
@for f in dirs docs files links postinst prerm; do \
|
||||
echo "generating control file $(package_gtk_dev).$$f"; \
|
||||
cp debian/libwxgtk-dev.$$f debian/$(package_gtk_dev).$$f; \
|
||||
done;
|
||||
@for f in dirs docs files postinst prerm; do \
|
||||
echo "generating control file $(package_gtk_py).$$f"; \
|
||||
cp debian/libwxgtk-python.$$f debian/$(package_gtk_py).$$f; \
|
||||
done;
|
||||
@for f in dirs docs doc-base; do \
|
||||
echo "generating control file $(package_doc).$$f"; \
|
||||
cp debian/wxwin-doc.$$f debian/$(package_doc).$$f; \
|
||||
done;
|
||||
@for f in docs examples; do \
|
||||
echo "generating control file $(package_examples).$$f"; \
|
||||
cp debian/wxwin-examples.$$f debian/$(package_examples).$$f; \
|
||||
done;
|
||||
dh_clean -k
|
||||
dh_installdirs
|
||||
cd $(objdir_gtk_shared) \
|
||||
&& $(MAKE) install prefix=`pwd`/../debian/tmp/usr
|
||||
rm -f debian/tmp/usr/bin/wx-config
|
||||
cp $(objdir_gtk_static)/lib/*.a debian/tmp/usr/lib
|
||||
cp -a $(objdir_wxbase_shared)/lib/* debian/tmp/usr/lib
|
||||
cp $(objdir_wxbase_shared)/wxbase-config debian/tmp/usr/bin/
|
||||
cp $(objdir_wxbase_static)/lib/*.a debian/tmp/usr/lib
|
||||
cd utils/wxPython/src \
|
||||
&& ../distrib/build.py -i \
|
||||
TARGETDIR=../../../debian/tmp/usr/lib/python1.5/site-packages/wxPython \
|
||||
HELPERLIBDIR=../../../debian/tmp/usr/lib \
|
||||
WXDIR=../../..
|
||||
cd utils/wxPython/modules/html \
|
||||
&& ../../distrib/build.py -i \
|
||||
TARGETDIR=../../../../debian/tmp/usr/lib/python1.5/site-packages/wxPython \
|
||||
WXDIR=../../../..
|
||||
cd utils/wxPython/modules/utils \
|
||||
&& ../../distrib/build.py -i \
|
||||
TARGETDIR=../../../../debian/tmp/usr/lib/python1.5/site-packages/wxPython \
|
||||
WXDIR=../../../..
|
||||
rm -rf debian/tmp/usr/lib/python1.5/site-packages/wxPython/demo
|
||||
find debian/tmp/usr/lib/python1.5/site-packages/wxPython \
|
||||
-name '*.py?' -exec rm '{}' ';'
|
||||
dh_movefiles
|
||||
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
# nothing to do.
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: build install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installdocs
|
||||
dh_installmanpages -p$(package_gtk_dev) \
|
||||
ansi2knr.1 \
|
||||
jpegtran.1 \
|
||||
libpng.3 \
|
||||
libpngpf.3 \
|
||||
zlib.3 \
|
||||
png.5
|
||||
dh_installchangelogs
|
||||
dh_installexamples
|
||||
dh_link
|
||||
dh_strip
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_makeshlibs
|
||||
dh_installdeb
|
||||
dh_shlibdeps -ldebian/$(package_gtk_lib)/usr/lib:debian/$(package_gtk_py)/usr/lib
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install
|
91
debian/wx-config.1
vendored
@@ -1,91 +0,0 @@
|
||||
.TH wx-config 1 "15 Feb 2000" "Debian GNU/Linux" "wxWindows 2.2"
|
||||
.SH NAME
|
||||
wx-config - generate compile time info for wxWindows
|
||||
.SH SYNOPSIS
|
||||
.nh
|
||||
.B wxbase-config
|
||||
.br
|
||||
.B wxgtk-config
|
||||
.HP
|
||||
.B wx-config
|
||||
[\-\-version] [\-\-libs] [\-\-cflags] [\-\-cc] [\-\-cxx] [\-\-ld]
|
||||
[\-\-prefix\fI[=DIR]\fP] [\-\-exec\-prefix\fI[=DIR]\fP]
|
||||
.SH DESCRIPTION
|
||||
\fIwx-config\fP is a tool to determine the compiler and linker
|
||||
flags required for applications using the \fIwxWindows\fP toolkit(s).
|
||||
.PP
|
||||
\fIwx-config\fP is normally a symlink to one of the port-specific
|
||||
versions like \fIwxbase-config\fP or \fIwxgtk-config\fP which
|
||||
designates the default port to compile applications with.
|
||||
You can override this default either by using one of the specific
|
||||
versions directly, or by changing which version the symlink points to.
|
||||
On Debian systems this can be done using the
|
||||
.BR update-alternatives (8)
|
||||
mechanism.
|
||||
.hy
|
||||
.SH OPTIONS
|
||||
.l
|
||||
\fIwx-config\fP accepts the following options:
|
||||
.TP 8
|
||||
.B \-\-version
|
||||
What to
|
||||
.B ALWAYS
|
||||
include in a bug report.
|
||||
.br
|
||||
( But of course you already knew that ... )
|
||||
.TP 8
|
||||
.B \-\-libs
|
||||
Generate linker flags for a \fIwxWindows\fP program.
|
||||
.TP 8
|
||||
.B \-\-cflags
|
||||
Generate compiler flags for the same.
|
||||
.TP 8
|
||||
.B \-\-cc
|
||||
Output the name of the C compiler \fB$(CC)\fP.
|
||||
.TP 8
|
||||
.B \-\-cxx
|
||||
Output the name of the C++ compiler \fB$(CXX)\fP.
|
||||
.TP 8
|
||||
.B \-\-ld
|
||||
Output the Linker command \fB$(LD)\fP.
|
||||
.TP 8
|
||||
.B \-\-prefix=PREFIX
|
||||
If specified, use PREFIX instead of the installation prefix that \fIwxWindows\fP
|
||||
was built with when computing the output for the \-\-cflags and
|
||||
\-\-libs options. This option is also used for the exec prefix
|
||||
if \-\-exec\-prefix was not specified. This option must be specified
|
||||
before any \-\-libs or \-\-cflags options.
|
||||
.br
|
||||
.nh
|
||||
.HP
|
||||
(Translation: this is the root path to the \fIwxWindows\fP headers -- [Ron])
|
||||
.hy
|
||||
.TP 8
|
||||
.B \-\-exec\-prefix=PREFIX
|
||||
If specified, use PREFIX instead of the installation exec prefix that
|
||||
\fIwxWindows\fP was built with when computing the output for the \-\-cflags
|
||||
and \-\-libs options. This option must be specified before any
|
||||
\-\-libs or \-\-cflags options.
|
||||
.br
|
||||
.nh
|
||||
.HP
|
||||
(Translation: this is the root path to the \fIwxWindows\fP library -- [Ron])
|
||||
.hy
|
||||
.SH SEE ALSO
|
||||
.BR gtk-config (1),
|
||||
.BR update-alternatives (8)
|
||||
.SH COPYRIGHT
|
||||
This manpage was copied whole-heartedly from the \fBgtk-config\fP(1) manpage
|
||||
by Brian Bassett <brianb@debian.org> for the Debian GNU/Linux distribution of
|
||||
wxGTK. It was then updated to include new options and otherwise bastardised
|
||||
generally by Ron Lee <ron@debian.org>
|
||||
|
||||
The original gtk-config manpage copyright:
|
||||
|
||||
Copyright \(co 1995 Spencer Kimball and Peter Mattis
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation.
|
1
debian/wxwin-doc.dirs
vendored
@@ -1 +0,0 @@
|
||||
usr/share/doc-base
|
10
debian/wxwin-doc.doc-base.in
vendored
@@ -1,10 +0,0 @@
|
||||
Document: wxwindows-manual
|
||||
Title: wxWindows Programming Manual
|
||||
Author: The wxWindows Cabal
|
||||
Abstract: This manual describes the wxWindows cross-platform GUI toolkit.
|
||||
Section: Apps/Programming
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/wxwin=V-doc/wxWindows-manual.html/wxwin.htm
|
||||
Files: /usr/share/doc/wxwin=V-doc/wxWindows-manual.html/*
|
||||
|
2
debian/wxwin-doc.docs
vendored
@@ -1,2 +0,0 @@
|
||||
docs/licendoc.txt
|
||||
docs/wxWindows-manual.html
|
1
debian/wxwin-examples.docs
vendored
@@ -1 +0,0 @@
|
||||
docs/licence.txt
|
3
debian/wxwin-examples.examples
vendored
@@ -1,3 +0,0 @@
|
||||
docs/examples/demos
|
||||
docs/examples/samples
|
||||
docs/examples/wxPython
|
@@ -1,11 +0,0 @@
|
||||
#
|
||||
# Makefile : Builds wxWindows demos for Unix.
|
||||
#
|
||||
|
||||
DEMOS_SUBDIRS=bombs dbbrowse forty fractal life poem
|
||||
|
||||
all:
|
||||
@for d in $(DEMOS_SUBDIRS); do (cd $$d && make); done
|
||||
|
||||
clean:
|
||||
@for d in $(DEMOS_SUBDIRS); do (cd $$d && make clean); done
|
@@ -1,21 +0,0 @@
|
||||
#
|
||||
# File: Makefile.in
|
||||
# Author: Julian Smart
|
||||
# Created: 1998
|
||||
# Updated:
|
||||
# Copyright: (c) 1998 Julian Smart
|
||||
#
|
||||
# "%W% %G%"
|
||||
#
|
||||
# Makefile for bombs example (UNIX).
|
||||
|
||||
top_srcdir = @top_srcdir@/..
|
||||
top_builddir = ../..
|
||||
program_dir = demos/bombs
|
||||
|
||||
PROGRAM=bombs
|
||||
|
||||
OBJECTS = bombs.o bombs1.o game.o
|
||||
|
||||
include ../../src/makeprog.env
|
||||
|
Before Width: | Height: | Size: 654 B |
@@ -1,252 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: bombs.cpp
|
||||
// Purpose: Bombs game
|
||||
// Author: P. Foggia 1996
|
||||
// Modified by:
|
||||
// Created: 1996
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1996 P. Foggia
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation
|
||||
#endif
|
||||
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif //precompiled headers
|
||||
|
||||
#include "bombs.h"
|
||||
|
||||
#include <time.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__)
|
||||
#include "bombs.xpm"
|
||||
#endif
|
||||
|
||||
IMPLEMENT_APP(AppClass)
|
||||
|
||||
// Called to initialize the program
|
||||
bool AppClass::OnInit()
|
||||
{
|
||||
srand((unsigned)time(NULL));
|
||||
|
||||
// Initialize all the top-level window members to NULL.
|
||||
BombsFrame = NULL;
|
||||
level=IDM_EASY;
|
||||
|
||||
BombsFrame =
|
||||
new BombsFrameClass(NULL, "wxBombs", wxPoint(155, 165), wxSize(300, 300), wxMINIMIZE_BOX | wxSYSTEM_MENU | wxCAPTION);
|
||||
|
||||
int xmax=BombsFrame->BombsCanvas->field_width*BombsFrame->BombsCanvas->x_cell*X_UNIT;
|
||||
int ymax=BombsFrame->BombsCanvas->field_height*BombsFrame->BombsCanvas->y_cell*Y_UNIT;
|
||||
BombsFrame->SetClientSize(xmax, ymax);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BEGIN_EVENT_TABLE(BombsFrameClass, wxFrame)
|
||||
EVT_MENU(IDM_EASY, BombsFrameClass::OnEasy)
|
||||
EVT_MENU(IDM_MEDIUM, BombsFrameClass::OnMedium)
|
||||
EVT_MENU(IDM_DIFFICULT, BombsFrameClass::OnDifficult)
|
||||
EVT_MENU(IDM_EXIT, BombsFrameClass::OnExit)
|
||||
EVT_MENU(IDM_ABOUT, BombsFrameClass::OnAbout)
|
||||
EVT_MENU(IDM_RESTART, BombsFrameClass::OnRestart)
|
||||
EVT_CLOSE(BombsFrameClass::OnCloseWindow)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
BombsFrameClass::BombsFrameClass(wxFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size, long style):
|
||||
wxFrame(parent, -1, title, pos, size, style)
|
||||
{
|
||||
// Initialize child subwindow members.
|
||||
BombsCanvas = NULL;
|
||||
|
||||
SetIcon(wxICON(bombs));
|
||||
|
||||
CreateStatusBar();
|
||||
|
||||
// Create a menu bar for the frame
|
||||
wxMenuBar *menuBar1 = new wxMenuBar;
|
||||
wxMenu *menu1 = new wxMenu;
|
||||
menu1->Append(IDM_EXIT, "E&xit"); // , "Quit the program");
|
||||
menu1->AppendSeparator();
|
||||
menu1->Append(IDM_ABOUT, "&About..."); // , "Infos on wxBombs");
|
||||
menuBar1->Append(menu1, "&File");
|
||||
wxMenu *menu2 = new wxMenu;
|
||||
menu2->Append(IDM_RESTART, "&Restart"); // , "Clear the play field");
|
||||
menu2->AppendSeparator();
|
||||
menu2->Append(IDM_EASY, "&Easy", wxEmptyString, TRUE); // "10x10 play field", TRUE);
|
||||
menu2->Append(IDM_MEDIUM, "&Medium", wxEmptyString, TRUE); // "15x15 play field", TRUE);
|
||||
menu2->Append(IDM_DIFFICULT, "&Difficult", wxEmptyString, TRUE); // "25x20 play field", TRUE);
|
||||
menuBar1->Append(menu2, "&Game");
|
||||
SetMenuBar(menuBar1);
|
||||
menuBar=menuBar1;
|
||||
menuBar->Check(wxGetApp().level, TRUE);
|
||||
|
||||
// Create child subwindows.
|
||||
BombsCanvas = new BombsCanvasClass(this);
|
||||
|
||||
// Ensure the subwindows get resized o.k.
|
||||
// OnSize(width, height);
|
||||
|
||||
// Centre frame on the screen.
|
||||
Centre(wxBOTH);
|
||||
|
||||
// Show the frame.
|
||||
Show(TRUE);
|
||||
}
|
||||
|
||||
BombsFrameClass::~BombsFrameClass(void)
|
||||
{
|
||||
}
|
||||
|
||||
void BombsFrameClass::OnCloseWindow(wxCloseEvent& event)
|
||||
{
|
||||
this->Destroy();
|
||||
}
|
||||
|
||||
void BombsFrameClass::OnExit(wxCommandEvent& event)
|
||||
{
|
||||
this->Destroy();
|
||||
}
|
||||
|
||||
void BombsFrameClass::OnRestart(wxCommandEvent& event)
|
||||
{
|
||||
BombsCanvas->UpdateFieldSize();
|
||||
int xmax=BombsCanvas->field_width*BombsCanvas->x_cell*X_UNIT;
|
||||
int ymax=BombsCanvas->field_height*BombsCanvas->y_cell*Y_UNIT;
|
||||
wxGetApp().BombsFrame->SetClientSize(xmax, ymax);
|
||||
}
|
||||
|
||||
void BombsFrameClass::OnAbout(wxCommandEvent& event)
|
||||
{
|
||||
wxMessageBox("wxBombs (c) 1996 by P. Foggia\n<foggia@amalfi.dis.unina.it>", "About wxBombs");
|
||||
}
|
||||
|
||||
void BombsFrameClass::OnEasy(wxCommandEvent& event)
|
||||
{
|
||||
menuBar->Check(wxGetApp().level, FALSE);
|
||||
wxGetApp().level=IDM_EASY;
|
||||
menuBar->Check(wxGetApp().level, TRUE);
|
||||
}
|
||||
|
||||
void BombsFrameClass::OnMedium(wxCommandEvent& event)
|
||||
{
|
||||
menuBar->Check(wxGetApp().level, FALSE);
|
||||
wxGetApp().level=IDM_MEDIUM;
|
||||
menuBar->Check(wxGetApp().level, TRUE);
|
||||
}
|
||||
|
||||
void BombsFrameClass::OnDifficult(wxCommandEvent& event)
|
||||
{
|
||||
menuBar->Check(wxGetApp().level, FALSE);
|
||||
wxGetApp().level=IDM_DIFFICULT;
|
||||
menuBar->Check(wxGetApp().level, TRUE);
|
||||
}
|
||||
|
||||
BEGIN_EVENT_TABLE(BombsCanvasClass, wxWindow)
|
||||
EVT_PAINT(BombsCanvasClass::OnPaint)
|
||||
EVT_MOUSE_EVENTS(BombsCanvasClass::OnEvent)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
BombsCanvasClass::BombsCanvasClass(wxFrame *parent, const wxPoint& pos, const wxSize& size, long style):
|
||||
wxWindow(parent, -1, pos, size, style)
|
||||
{
|
||||
int sx, sy;
|
||||
wxClientDC dc(this);
|
||||
wxFont font= BOMBS_FONT;
|
||||
dc.SetFont(font);
|
||||
|
||||
long chw, chh;
|
||||
char buf[]="M";
|
||||
|
||||
dc.GetTextExtent(buf, &chw, &chh);
|
||||
dc.SetFont(wxNullFont);
|
||||
|
||||
dc.SetMapMode(wxMM_METRIC);
|
||||
|
||||
int xcm = dc.LogicalToDeviceX(10.0);
|
||||
int ycm = dc.LogicalToDeviceY(10.0);
|
||||
// To have a square cell, there must be :
|
||||
// sx*ycm == sy*xcm
|
||||
if (chw*ycm < chh*xcm)
|
||||
{ sy=chh;
|
||||
sx=chh*xcm/ycm;
|
||||
}
|
||||
else
|
||||
{ sx=chw;
|
||||
sy=chw*ycm/xcm;
|
||||
}
|
||||
x_cell = (sx+3+X_UNIT)/X_UNIT;
|
||||
y_cell = (sy+3+Y_UNIT)/Y_UNIT;
|
||||
dc.SetMapMode(wxMM_TEXT);
|
||||
bmp=NULL;
|
||||
UpdateFieldSize();
|
||||
}
|
||||
|
||||
BombsCanvasClass::~BombsCanvasClass(void)
|
||||
{
|
||||
if (bmp)
|
||||
delete bmp;
|
||||
}
|
||||
|
||||
// Called when canvas needs to be repainted.
|
||||
void BombsCanvasClass::OnPaint(wxPaintEvent& event)
|
||||
{
|
||||
wxPaintDC dc(this);
|
||||
|
||||
// Insert your drawing code here.
|
||||
if (!bmp)
|
||||
{ bmp=new wxBitmap(field_width*x_cell*X_UNIT+1,
|
||||
field_height*y_cell*Y_UNIT+1);
|
||||
if (bmp)
|
||||
{ wxMemoryDC memDC;
|
||||
memDC.SelectObject(* bmp);
|
||||
DrawField(&memDC, 0, 0, field_width-1, field_height-1);
|
||||
memDC.SelectObject(wxNullBitmap);
|
||||
}
|
||||
}
|
||||
if (bmp)
|
||||
{ wxMemoryDC memDC;
|
||||
memDC.SelectObject(* bmp);
|
||||
dc.Blit(0, 0, field_width*x_cell*X_UNIT+1,
|
||||
field_height*y_cell*Y_UNIT+1,
|
||||
&memDC, 0, 0, wxCOPY);
|
||||
memDC.SelectObject(wxNullBitmap);
|
||||
}
|
||||
else
|
||||
DrawField(& dc, 0, 0, field_width-1, field_height-1);
|
||||
}
|
||||
|
||||
// Updates the field size depending on wxGetApp().level and
|
||||
// redraws the canvas
|
||||
void BombsCanvasClass::UpdateFieldSize()
|
||||
{ field_width=20;
|
||||
field_height=20;
|
||||
|
||||
switch(wxGetApp().level)
|
||||
{ case IDM_EASY:
|
||||
field_width=10;
|
||||
field_height=10;
|
||||
break;
|
||||
case IDM_MEDIUM:
|
||||
field_width=15;
|
||||
field_height=15;
|
||||
break;
|
||||
case IDM_DIFFICULT:
|
||||
field_width=25;
|
||||
field_height=20;
|
||||
break;
|
||||
}
|
||||
wxGetApp().Game.Init(field_width, field_height);
|
||||
|
||||
if (bmp)
|
||||
delete bmp;
|
||||
bmp=NULL;
|
||||
|
||||
wxWindow::Refresh();
|
||||
}
|
@@ -1,14 +0,0 @@
|
||||
; bombs
|
||||
; Generated by wxBuilder
|
||||
;
|
||||
NAME bombsapp
|
||||
DESCRIPTION 'A wxWindows application'
|
||||
;
|
||||
EXETYPE WINDOWS
|
||||
STUB 'WINSTUB.EXE'
|
||||
;
|
||||
CODE PRELOAD MOVEABLE DISCARDABLE
|
||||
DATA PRELOAD MOVEABLE MULTIPLE
|
||||
;
|
||||
HEAPSIZE 1024
|
||||
STACKSIZE 8192
|
@@ -1,119 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: bombs.h
|
||||
// Purpose: Bombs game
|
||||
// Author: P. Foggia 1996
|
||||
// Modified by:
|
||||
// Created: 1996
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1996 P. Foggia
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _INC_BOMBS_H
|
||||
#define _INC_BOMBS_H
|
||||
|
||||
#include "game.h"
|
||||
|
||||
/*
|
||||
* Forward declarations of all top-level window classes.
|
||||
*/
|
||||
class BombsFrameClass;
|
||||
class AboutFrameClass;
|
||||
|
||||
/*
|
||||
* Class representing the entire Application
|
||||
*/
|
||||
class AppClass: public wxApp
|
||||
{
|
||||
public:
|
||||
BombsFrameClass *BombsFrame;
|
||||
int level;
|
||||
BombsGame Game;
|
||||
|
||||
bool OnInit();
|
||||
};
|
||||
|
||||
DECLARE_APP(AppClass)
|
||||
|
||||
class BombsCanvasClass;
|
||||
|
||||
class BombsFrameClass: public wxFrame
|
||||
{
|
||||
private:
|
||||
protected:
|
||||
public:
|
||||
// Subwindows for reference within the program.
|
||||
BombsCanvasClass *BombsCanvas;
|
||||
wxMenuBar *menuBar;
|
||||
|
||||
// Constructor and destructor
|
||||
BombsFrameClass(wxFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size, long style);
|
||||
~BombsFrameClass(void);
|
||||
|
||||
void OnCloseWindow(wxCloseEvent& event);
|
||||
void OnExit(wxCommandEvent& event);
|
||||
void OnRestart(wxCommandEvent& event);
|
||||
void OnAbout(wxCommandEvent& event);
|
||||
void OnEasy(wxCommandEvent& event);
|
||||
void OnMedium(wxCommandEvent& event);
|
||||
void OnDifficult(wxCommandEvent& event);
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
/* Menu identifiers
|
||||
*/
|
||||
// File
|
||||
#define BOMBSFRAMECLASS_FILE 1
|
||||
// E&xit
|
||||
#define IDM_EXIT 2
|
||||
// About...
|
||||
#define IDM_ABOUT 3
|
||||
// Game
|
||||
#define BOMBSFRAMECLASS_GAME 4
|
||||
// &Restart
|
||||
#define IDM_RESTART 5
|
||||
// &Easy
|
||||
#define IDM_EASY 6
|
||||
// &Medium
|
||||
#define IDM_MEDIUM 7
|
||||
// &Difficult
|
||||
#define IDM_DIFFICULT 8
|
||||
|
||||
class BombsCanvasClass: public wxWindow
|
||||
{
|
||||
private:
|
||||
protected:
|
||||
public:
|
||||
int field_width, field_height;
|
||||
int x_cell, y_cell;
|
||||
wxBitmap *bmp;
|
||||
// Constructor and destructor
|
||||
BombsCanvasClass(wxFrame *parent, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0);
|
||||
~BombsCanvasClass(void);
|
||||
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
void DrawField(wxDC *, int xc1, int yc1, int xc2, int yc2);
|
||||
void Refresh(int xc1, int yc1, int xc2, int yc2);
|
||||
void OnEvent(wxMouseEvent& event);
|
||||
void UpdateFieldSize();
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
/* Menu identifiers
|
||||
*/
|
||||
|
||||
/* The following sizes should probably be redefined */
|
||||
/* dimensions of a scroll unit, in pixels */
|
||||
#define X_UNIT 4
|
||||
#define Y_UNIT 4
|
||||
|
||||
/* the dimensions of a cell, in scroll units are in
|
||||
* BombsCanvasClass::x_cell and y_cell
|
||||
*/
|
||||
|
||||
#define BOMBS_FONT wxFont(14, wxROMAN, wxNORMAL, wxNORMAL)
|
||||
|
||||
#endif /* mutual exclusion */
|
||||
|
Before Width: | Height: | Size: 766 B |
@@ -1,3 +0,0 @@
|
||||
bombs ICON "bombs.ico"
|
||||
|
||||
#include "wx/msw/wx.rc"
|
@@ -1,44 +0,0 @@
|
||||
/* XPM */
|
||||
static char *bombs_xpm[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"32 32 6 1",
|
||||
" c Black",
|
||||
". c Blue",
|
||||
"X c #00bf00",
|
||||
"o c Red",
|
||||
"O c Yellow",
|
||||
"+ c Gray100",
|
||||
/* pixels */
|
||||
" ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" "
|
||||
};
|
@@ -1,204 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: bombs1.cpp
|
||||
// Purpose: Bombs game
|
||||
// Author: P. Foggia 1996
|
||||
// Modified by:
|
||||
// Created: 1996
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1996 P. Foggia
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
* implementation of the methods DrawField and OnEvent of the
|
||||
* class BombsCanvas
|
||||
*/
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation
|
||||
#endif
|
||||
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif //precompiled headers
|
||||
|
||||
#include "bombs.h"
|
||||
|
||||
/*-------- BombCanvasClass::DrawField(dc, xc1, yc1, xc2, yc2) -------*/
|
||||
/* Draws the field on the device context dc */
|
||||
/* xc1,yc1 etc. are the (inclusive) limits of the area to be drawn, */
|
||||
/* expressed in cells. */
|
||||
/*---------------------------------------------------------------------*/
|
||||
void BombsCanvasClass::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
|
||||
{ int x,y,xmax,ymax;
|
||||
char buf[2];
|
||||
long chw, chh;
|
||||
|
||||
wxColour *wxBlack = wxTheColourDatabase->FindColour("BLACK");
|
||||
wxColour *wxWhite = wxTheColourDatabase->FindColour("WHITE");
|
||||
wxColour *wxRed = wxTheColourDatabase->FindColour("RED");
|
||||
wxColour *wxBlue = wxTheColourDatabase->FindColour("BLUE");
|
||||
wxColour *wxGrey = wxTheColourDatabase->FindColour("LIGHT GREY");
|
||||
wxColour *wxGreen = wxTheColourDatabase->FindColour("GREEN");
|
||||
|
||||
wxPen *blackPen = wxThePenList->FindOrCreatePen(*wxBlack, 1, wxSOLID);
|
||||
wxPen *redPen = wxThePenList->FindOrCreatePen(*wxRed, 1, wxSOLID);
|
||||
wxPen *bluePen = wxThePenList->FindOrCreatePen(*wxBlue, 1, wxSOLID);
|
||||
wxBrush *whiteBrush = wxTheBrushList->FindOrCreateBrush(*wxWhite, wxSOLID);
|
||||
wxBrush *greyBrush = wxTheBrushList->FindOrCreateBrush(*wxGrey, wxSOLID);
|
||||
wxBrush *redBrush = wxTheBrushList->FindOrCreateBrush(*wxRed, wxSOLID);
|
||||
|
||||
xmax=field_width*x_cell*X_UNIT;
|
||||
ymax=field_height*y_cell*Y_UNIT;
|
||||
|
||||
|
||||
dc->SetPen(* blackPen);
|
||||
for(x=xc1; x<=xc2; x++)
|
||||
dc->DrawLine(x*x_cell*X_UNIT, 0, x*x_cell*X_UNIT, ymax);
|
||||
for(y=xc1; y<=yc2; y++)
|
||||
dc->DrawLine(0, y*y_cell*Y_UNIT, xmax, y*y_cell*Y_UNIT);
|
||||
|
||||
|
||||
wxFont font= BOMBS_FONT;
|
||||
dc->SetFont(font);
|
||||
|
||||
buf[1]='\0';
|
||||
for(x=xc1; x<=xc2; x++)
|
||||
for(y=yc1; y<=yc2; y++)
|
||||
{ if (wxGetApp().Game.IsMarked(x,y))
|
||||
{ dc->SetPen(* blackPen);
|
||||
dc->SetBrush(* greyBrush);
|
||||
dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT,
|
||||
x_cell*X_UNIT+1, y_cell*Y_UNIT+1);
|
||||
*buf='M';
|
||||
if (!wxGetApp().Game.IsHidden(x,y) && wxGetApp().Game.IsBomb(x,y))
|
||||
dc->SetTextForeground(*wxBlue);
|
||||
else
|
||||
dc->SetTextForeground(*wxRed);
|
||||
dc->SetTextBackground(*wxGrey);
|
||||
dc->GetTextExtent(buf, &chw, &chh);
|
||||
dc->DrawText( buf,
|
||||
x*x_cell*X_UNIT + (x_cell*X_UNIT-chw)/2,
|
||||
y*y_cell*Y_UNIT + (y_cell*Y_UNIT-chh)/2
|
||||
);
|
||||
if (!wxGetApp().Game.IsHidden(x,y) && wxGetApp().Game.IsBomb(x,y))
|
||||
{ dc->SetPen(*redPen);
|
||||
dc->DrawLine(x*x_cell*X_UNIT, y*y_cell*Y_UNIT,
|
||||
(x+1)*x_cell*X_UNIT, (y+1)*y_cell*Y_UNIT);
|
||||
dc->DrawLine(x*x_cell*X_UNIT, (y+1)*y_cell*Y_UNIT,
|
||||
(x+1)*x_cell*X_UNIT, y*y_cell*Y_UNIT);
|
||||
}
|
||||
}
|
||||
else if (wxGetApp().Game.IsHidden(x,y))
|
||||
{ dc->SetPen(*blackPen);
|
||||
dc->SetBrush(*greyBrush);
|
||||
dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT,
|
||||
x_cell*X_UNIT+1, y_cell*Y_UNIT+1);
|
||||
}
|
||||
else if (wxGetApp().Game.IsBomb(x,y))
|
||||
{ dc->SetPen(* blackPen);
|
||||
dc->SetBrush(* redBrush);
|
||||
dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT,
|
||||
x_cell*X_UNIT+1, y_cell*Y_UNIT+1);
|
||||
*buf='B';
|
||||
dc->SetTextForeground(* wxBlack);
|
||||
dc->SetTextBackground(* wxRed);
|
||||
dc->GetTextExtent(buf, &chw, &chh);
|
||||
dc->DrawText( buf,
|
||||
x*x_cell*X_UNIT + (x_cell*X_UNIT-chw)/2,
|
||||
y*y_cell*Y_UNIT + (y_cell*Y_UNIT-chh)/2
|
||||
);
|
||||
if (wxGetApp().Game.IsExploded(x,y))
|
||||
{ dc->SetPen(* bluePen);
|
||||
dc->DrawLine(x*x_cell*X_UNIT, y*y_cell*Y_UNIT,
|
||||
(x+1)*x_cell*X_UNIT, (y+1)*y_cell*Y_UNIT);
|
||||
dc->DrawLine(x*x_cell*X_UNIT, (y+1)*y_cell*Y_UNIT,
|
||||
(x+1)*x_cell*X_UNIT, y*y_cell*Y_UNIT);
|
||||
}
|
||||
}
|
||||
else // Display a digit
|
||||
{ dc->SetPen(* blackPen);
|
||||
dc->SetBrush(* whiteBrush);
|
||||
dc->DrawRectangle( x*x_cell*X_UNIT, y*y_cell*Y_UNIT,
|
||||
x_cell*X_UNIT+1, y_cell*Y_UNIT+1);
|
||||
*buf = (wxGetApp().Game.Get(x,y) & BG_MASK) + '0';
|
||||
dc->GetTextExtent(buf, &chw, &chh);
|
||||
switch(*buf)
|
||||
{ case '0': dc->SetTextForeground(* wxGreen); break;
|
||||
case '1': dc->SetTextForeground(* wxBlue); break;
|
||||
default: dc->SetTextForeground(* wxBlack); break;
|
||||
}
|
||||
dc->SetTextBackground(* wxWhite);
|
||||
dc->DrawText( buf,
|
||||
x*x_cell*X_UNIT + (x_cell*X_UNIT-chw)/2,
|
||||
y*y_cell*Y_UNIT + (y_cell*Y_UNIT-chh)/2
|
||||
);
|
||||
}
|
||||
}
|
||||
dc->SetFont(wxNullFont);
|
||||
|
||||
if (wxGetApp().BombsFrame)
|
||||
{ char buf[80];
|
||||
sprintf(buf, "%d bombs %d remaining cells",
|
||||
wxGetApp().Game.GetBombs(), wxGetApp().Game.GetRemainingCells());
|
||||
wxGetApp().BombsFrame->SetStatusText(buf, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/*-------- BombCanvasClass::Refresh(xc1, yc1, xc2, yc2) -------------*/
|
||||
/* Refreshes the field image */
|
||||
/* xc1,yc1 etc. are the (inclusive) limits of the area to be drawn, */
|
||||
/* expressed in cells. */
|
||||
/*---------------------------------------------------------------------*/
|
||||
void BombsCanvasClass::Refresh(int xc1, int yc1, int xc2, int yc2)
|
||||
{
|
||||
wxClientDC dc(this);
|
||||
DrawField(& dc, xc1, yc1, xc2, yc2);
|
||||
if (bmp)
|
||||
{ wxMemoryDC memDC;
|
||||
memDC.SelectObject(* bmp);
|
||||
DrawField(&memDC, xc1, yc1, xc2, yc2);
|
||||
memDC.SelectObject(wxNullBitmap);
|
||||
}
|
||||
}
|
||||
|
||||
// Called when the canvas receives a mouse event.
|
||||
void BombsCanvasClass::OnEvent(wxMouseEvent& event)
|
||||
{
|
||||
wxCoord fx, fy;
|
||||
event.GetPosition(&fx, &fy);
|
||||
int x = fx/(x_cell*X_UNIT);
|
||||
int y = fy/(y_cell*Y_UNIT);
|
||||
if (x<field_width && y<field_height)
|
||||
{ if ( (event.RightDown() || (event.LeftDown() && event.ShiftDown()))
|
||||
&& (wxGetApp().Game.IsHidden(x,y)
|
||||
|| wxGetApp().Game.GetRemainingCells()==0))
|
||||
{ wxGetApp().Game.Mark(x,y);
|
||||
Refresh(x, y, x, y);
|
||||
return;
|
||||
}
|
||||
else if (event.LeftDown() && wxGetApp().Game.IsHidden(x,y)
|
||||
&& !wxGetApp().Game.IsMarked(x,y))
|
||||
{ wxGetApp().Game.Unhide(x,y);
|
||||
Refresh(x, y, x, y);
|
||||
if (wxGetApp().Game.IsBomb(x,y) || wxGetApp().Game.GetRemainingCells()==0)
|
||||
{ wxBell();
|
||||
if (!wxGetApp().Game.IsBomb(x,y))
|
||||
{ wxMessageBox("Nice! You found all the bombs!", "wxWin Bombs",
|
||||
wxOK|wxCENTRE, wxGetApp().BombsFrame);
|
||||
}
|
||||
else // x,y is a bomb
|
||||
{ wxGetApp().Game.Explode(x, y);
|
||||
}
|
||||
for(x=0; x<field_width; x++)
|
||||
for(y=0; y<field_height; y++)
|
||||
wxGetApp().Game.Unhide(x,y);
|
||||
Refresh(0, 0, field_width-1, field_height-1);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,32 +0,0 @@
|
||||
#*****************************************************************************
|
||||
# *
|
||||
# Make file for VMS *
|
||||
# Author : J.Jansen (joukj@hrem.stm.tudelft.nl) *
|
||||
# Date : 10 November 1999 *
|
||||
# *
|
||||
#*****************************************************************************
|
||||
.first
|
||||
define wx [--.include.wx]
|
||||
|
||||
.ifdef __WXMOTIF__
|
||||
CXX_DEFINE = /define=(__WXMOTIF__=1)
|
||||
.else
|
||||
CXX_DEFINE =
|
||||
.endif
|
||||
|
||||
.suffixes : .cpp
|
||||
|
||||
.cpp.obj :
|
||||
cxx $(CXXFLAGS)$(CXX_DEFINE) $(MMS$TARGET_NAME).cpp
|
||||
|
||||
all :
|
||||
$(MMS)$(MMSQUALIFIERS) game.exe
|
||||
|
||||
game.exe : game.obj bombs1.obj bombs.obj
|
||||
.ifdef __WXMOTIF__
|
||||
cxxlink game,bombs1,bombs,[--.lib]vms/opt
|
||||
.endif
|
||||
|
||||
game.obj : game.cpp
|
||||
bombs1.obj : bombs1.cpp
|
||||
bombs.obj : bombs.cpp
|
@@ -1,105 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: bombs1.cpp
|
||||
// Purpose: Implementation of the class BombsGame
|
||||
// Author: P. Foggia 1996
|
||||
// Modified by:
|
||||
// Created: 1996
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1996 P. Foggia
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation
|
||||
#endif
|
||||
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif //precompiled headers
|
||||
|
||||
#include "game.h"
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
|
||||
#define PROB 0.2
|
||||
|
||||
#ifndef RAND_MAX
|
||||
#define RAND_MAX INT_MAX
|
||||
#endif
|
||||
|
||||
|
||||
/*-------------------- BombsGame::~BombsGame() ---------------------*/
|
||||
/*--------------------------------------------------------------------*/
|
||||
BombsGame::~BombsGame()
|
||||
{ if (field)
|
||||
free(field);
|
||||
}
|
||||
|
||||
/*------------------ int BombsGame::Init(width,height) -------------------*/
|
||||
/* Initialize the play field. Returns 0 on failure */
|
||||
/*--------------------------------------------------------------------------*/
|
||||
int BombsGame::Init(int aWidth, int aHeight)
|
||||
{ int x, y;
|
||||
int xx, yy;
|
||||
|
||||
if (field)
|
||||
free(field);
|
||||
field=(short *)malloc(aWidth*aHeight*sizeof(short));
|
||||
if (!field)
|
||||
{ width=height=0;
|
||||
return 0;
|
||||
}
|
||||
width=aWidth;
|
||||
height=aHeight;
|
||||
|
||||
for(x=0; x<width; x++)
|
||||
for(y=0; y<height; y++)
|
||||
{ field[x+y*width] = ((float)rand()/RAND_MAX <PROB)?
|
||||
BG_HIDDEN | BG_BOMB :
|
||||
BG_HIDDEN;
|
||||
}
|
||||
|
||||
bombs=0;
|
||||
for(x=0; x<width; x++)
|
||||
for(y=0; y<height; y++)
|
||||
if (field[x+y*width] & BG_BOMB)
|
||||
{ bombs++;
|
||||
for(xx=x-1; xx<=x+1; xx++)
|
||||
if (xx>=0 && xx<width)
|
||||
for(yy=y-1; yy<=y+1; yy++)
|
||||
if (yy>=0 && yy<height && (yy!=y || xx!=x))
|
||||
field[xx+yy*width]++;
|
||||
}
|
||||
normal_cells=height*width-bombs;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*---------------------- BombsGame::Mark(x,y) -------------------------*/
|
||||
/* Marks/unmarks a cell */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
void BombsGame::Mark(int x, int y)
|
||||
{
|
||||
field[x+y*width] ^= BG_MARKED;
|
||||
}
|
||||
|
||||
/*------------------- BombsGame::Unhide(x,y) ------------------------*/
|
||||
/* Unhides a cell */
|
||||
/*---------------------------------------------------------------------*/
|
||||
void BombsGame::Unhide(int x, int y)
|
||||
{ if (!IsHidden(x,y))
|
||||
return;
|
||||
field[x+y*width] &= ~BG_HIDDEN;
|
||||
if (!IsBomb(x,y))
|
||||
normal_cells--;
|
||||
}
|
||||
|
||||
/*------------------- BombsGame::Explode(x,y) ------------------------*/
|
||||
/* Makes a cell exploded */
|
||||
/*----------------------------------------------------------------------*/
|
||||
void BombsGame::Explode(int x, int y)
|
||||
{
|
||||
field[x+y*width] |= BG_EXPLODED;
|
||||
}
|
||||
|
@@ -1,42 +0,0 @@
|
||||
//---------------------------------------------------------------
|
||||
// game.h
|
||||
// Definition of the class BombsGame, containing the data for a
|
||||
// playfield
|
||||
//---------------------------------------------------------------
|
||||
#ifndef GAME_H
|
||||
#define GAME_H
|
||||
|
||||
#define BG_HIDDEN 0x100
|
||||
#define BG_BOMB 0x200
|
||||
#define BG_MARKED 0x400
|
||||
#define BG_EXPLODED 0x800
|
||||
#define BG_MASK 0x0FF
|
||||
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
class BombsGame
|
||||
{ protected:
|
||||
int width,height;
|
||||
short *field;
|
||||
int bombs,normal_cells;
|
||||
public:
|
||||
BombsGame() { width=height=0; field=NULL; };
|
||||
~BombsGame();
|
||||
int Init(int width, int height);
|
||||
int GetWidth() { return width; };
|
||||
int GetHeight() { return height; };
|
||||
int Get(int x, int y) { return field[x+y*width]; };
|
||||
void Mark(int x, int y);
|
||||
void Unhide(int x, int y);
|
||||
void Explode(int x, int y);
|
||||
int IsHidden(int x, int y) { return Get(x,y) & BG_HIDDEN; };
|
||||
int IsMarked(int x, int y) { return Get(x,y) & BG_MARKED; };
|
||||
int IsBomb(int x, int y) { return Get(x,y) & BG_BOMB; };
|
||||
int IsExploded(int x, int y) { return Get(x,y) & BG_EXPLODED; };
|
||||
int GetBombs() { return bombs; };
|
||||
int GetRemainingCells() { return normal_cells; };
|
||||
};
|
||||
|
||||
#endif /* def GAME_H */
|
||||
|
@@ -1,16 +0,0 @@
|
||||
#
|
||||
# File: makefile.b32
|
||||
# Author: Julian Smart
|
||||
# Created: 1999
|
||||
# Updated:
|
||||
# Copyright:
|
||||
#
|
||||
# Makefile : Builds sample for 32-bit BC++
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
TARGET=bombs
|
||||
OBJECTS = $(TARGET).obj bombs1.obj game.obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.b32
|
||||
|
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# File: makefile.bcc
|
||||
# Author: Julian Smart
|
||||
# Created: 1998
|
||||
# Updated:
|
||||
#
|
||||
# Builds a BC++ 16-bit sample
|
||||
|
||||
!if "$(WXWIN)" == ""
|
||||
!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
|
||||
!endif
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
TARGET=bombs
|
||||
OBJECTS=$(TARGET).obj bombs1.obj game.obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.bcc
|
||||
|
@@ -1,17 +0,0 @@
|
||||
#
|
||||
# File: makefile.dos
|
||||
# Author: Julian Smart
|
||||
# Created: 1998
|
||||
# Updated:
|
||||
#
|
||||
# Makefile : Builds 16-bit sample, VC++ 1.5
|
||||
# Use FINAL=1 argument to nmake to build final version with no debugging
|
||||
# info
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
TARGET=bombs
|
||||
OBJECTS = $(TARGET).obj bombs1.obj game.obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.msc
|
||||
|
@@ -1,16 +0,0 @@
|
||||
#
|
||||
# File: makefile.g95
|
||||
# Author: Julian Smart
|
||||
# Created: 1999
|
||||
# Updated:
|
||||
# Copyright: (c) Julian Smart, 1999
|
||||
#
|
||||
# Makefile for wxWindows sample (Cygwin/Mingw32).
|
||||
|
||||
WXDIR = ../..
|
||||
|
||||
TARGET=bombs
|
||||
OBJECTS = $(TARGET).o bombs1.o game.o
|
||||
|
||||
include $(WXDIR)/src/makeprog.g95
|
||||
|
@@ -1,35 +0,0 @@
|
||||
#
|
||||
# File: Makefile for samples
|
||||
# Author: Robert Roebling
|
||||
# Created: 1999
|
||||
# Updated:
|
||||
# Copyright: (c) 1998 Robert Roebling
|
||||
#
|
||||
# This makefile requires a Unix version of wxWindows
|
||||
# to be installed on your system. This is most often
|
||||
# done typing "make install" when using the complete
|
||||
# sources of wxWindows or by installing the two
|
||||
# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm
|
||||
# under Linux.
|
||||
#
|
||||
|
||||
CC = gcc
|
||||
|
||||
PROGRAM = bombs
|
||||
|
||||
OBJECTS = $(PROGRAM).o game.o bombs1.o
|
||||
|
||||
# implementation
|
||||
|
||||
.SUFFIXES: .o .cpp
|
||||
|
||||
.cpp.o :
|
||||
$(CC) -c `wx-config --cflags` -o $@ $<
|
||||
|
||||
all: $(PROGRAM)
|
||||
|
||||
$(PROGRAM): $(OBJECTS)
|
||||
$(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROGRAM)
|
@@ -1,18 +0,0 @@
|
||||
#
|
||||
# File: makefile.vc
|
||||
# Author: Julian Smart
|
||||
# Created: 1999
|
||||
# Updated:
|
||||
# Copyright: (c) Julian Smart
|
||||
#
|
||||
# Makefile : Builds sample (VC++, WIN32)
|
||||
# Use FINAL=1 argument to nmake to build final version with no debug info.
|
||||
|
||||
# Set WXDIR for your system
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
PROGRAM=bombs
|
||||
OBJECTS = $(PROGRAM).obj bombs1.obj game.obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.vc
|
||||
|
@@ -1,15 +0,0 @@
|
||||
#
|
||||
# Makefile for WATCOM
|
||||
#
|
||||
# Created by Julian Smart, January 1999
|
||||
#
|
||||
#
|
||||
|
||||
WXDIR = $(%WXWIN)
|
||||
|
||||
PROGRAM = bombs
|
||||
OBJECTS = $(PROGRAM).obj bombs1.obj game.obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.wat
|
||||
|
||||
|
@@ -1,78 +0,0 @@
|
||||
wxWin Bombs
|
||||
by Pasquale Foggia
|
||||
|
||||
1. The aim of the program
|
||||
wxWin Bombs is the wxWin implementation of the minesweeper game you find
|
||||
under MSWindows 3.1+. Later the rules of the game will be explained for
|
||||
the lucky ones of you that have never used Windows.
|
||||
|
||||
2. Installation
|
||||
If you are reading this file, I suppose you have succesfully unpacked the
|
||||
files in a directory of your hard disk :-). You should already have
|
||||
installed wxWin on your system.
|
||||
Now you have to modify makefile.bcc
|
||||
(if a Windows user) or makefile.unx (if you use a real OS) setting the
|
||||
proper values for the directories. Finally, you have to run:
|
||||
make -f makefile.bcc
|
||||
for Windows (nmake if you use a MicroSoft compiler), or:
|
||||
make -f makefile.unx xview
|
||||
for Unix+xview and
|
||||
make -f makefile.unx motif
|
||||
for Unix+motif
|
||||
|
||||
If you are lucky, you will find the bombs executable, ready to be run.
|
||||
|
||||
3. Test
|
||||
Bombs has been tested under the following platforms:
|
||||
PC + MSWindos 3.1 + wxWin 1.60 + Borland C 3.1
|
||||
Sun SPARCstation 20 + SunOS + xview + wxWin 1.63 + gcc 2.3.3
|
||||
and all seems to work fine.
|
||||
|
||||
4. The author
|
||||
This program has been developed by Pasquale Foggia, a PhD student
|
||||
in Computer Engineering at the "Federico II" University of Naples, Italy.
|
||||
You can contacting him using the following address:
|
||||
foggia@amalfi.dis.unina.it
|
||||
|
||||
5. Disclaimer
|
||||
This program is freeware. You can do everything you want with it, including
|
||||
copying and modifying, without the need of a permission from the author.
|
||||
On the other hand, this program is provided AS IS, with NO KIND OF WARRANTY.
|
||||
The author will be in NO CASE responsible for damages directly or indirectly
|
||||
caused by this program. Use it AT YOUR OWN RISK, or don't use it at all.
|
||||
|
||||
6. The rules of the game
|
||||
Your aim is to discover all the bombs in a mined field. If you click with
|
||||
the left mouse button on a cell containing a bomb, your game ends.
|
||||
Otherwise, the number of bombs in the 8 neighbour cells will be displayed.
|
||||
When you have clicked all the cells without a bomb, you win.
|
||||
You can also use the right button (or left button+shift) to mark a cell
|
||||
you think hides a bomb, in order to not click it accidentally.
|
||||
|
||||
7. Concluding remarks
|
||||
I hope someone of you will enjoy this program. However, I enjoyed writing
|
||||
it (thanks to Julian Smart and all the other wxWin developers).
|
||||
In the near future I plan to implement under wxWin the great 'empire'
|
||||
(is there someone that still remember it?), IMHO one of the most addictive
|
||||
strategy games. If someone is interested, please contact me by e-mail.
|
||||
I beg you pardon for my approximative english.
|
||||
|
||||
Pasquale Foggia
|
||||
foggia@amalfi.dis.unina.it
|
||||
|
||||
|
||||
------
|
||||
A note from Julian Smart: Many thanks to Pasquale for the contribution.
|
||||
I've taken the liberty of making a few changes.
|
||||
|
||||
1) I've made the status line have a single field so that you
|
||||
can see the 'cells remaining' message properly.
|
||||
|
||||
2) I've changed the title from "wxWin Bombs" (which, as a statement,
|
||||
is an unfortunate reflection of the reality of earlier versions of
|
||||
wxWindows :-)) to wxBombs.
|
||||
|
||||
3) Added SetClientData to resize the window on Restart; eliminated
|
||||
scrollbars; made the frame unresizeable.
|
||||
|
||||
4) Added makefile.dos for VC++ 1.x, makefile.wat for Watcom C++.
|
791
demos/configure
vendored
@@ -1,791 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# From configure.in Id
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated automatically using autoconf version 2.13
|
||||
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
|
||||
#
|
||||
# This configure script is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy, distribute and modify it.
|
||||
|
||||
# Defaults:
|
||||
ac_help=
|
||||
ac_default_prefix=/usr/local
|
||||
# Any additions from configure.in:
|
||||
|
||||
# Initialize some variables set by options.
|
||||
# The variables have the same names as the options, with
|
||||
# dashes changed to underlines.
|
||||
build=NONE
|
||||
cache_file=./config.cache
|
||||
exec_prefix=NONE
|
||||
host=NONE
|
||||
no_create=
|
||||
nonopt=NONE
|
||||
no_recursion=
|
||||
prefix=NONE
|
||||
program_prefix=NONE
|
||||
program_suffix=NONE
|
||||
program_transform_name=s,x,x,
|
||||
silent=
|
||||
site=
|
||||
srcdir=
|
||||
target=NONE
|
||||
verbose=
|
||||
x_includes=NONE
|
||||
x_libraries=NONE
|
||||
bindir='${exec_prefix}/bin'
|
||||
sbindir='${exec_prefix}/sbin'
|
||||
libexecdir='${exec_prefix}/libexec'
|
||||
datadir='${prefix}/share'
|
||||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
libdir='${exec_prefix}/lib'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
infodir='${prefix}/info'
|
||||
mandir='${prefix}/man'
|
||||
|
||||
# Initialize some other variables.
|
||||
subdirs=
|
||||
MFLAGS= MAKEFLAGS=
|
||||
SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Maximum number of lines to put in a shell here document.
|
||||
ac_max_here_lines=12
|
||||
|
||||
ac_prev=
|
||||
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=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) ac_optarg= ;;
|
||||
esac
|
||||
|
||||
# Accept the important Cygnus configure options, so we can diagnose typos.
|
||||
|
||||
case "$ac_option" in
|
||||
|
||||
-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 ;;
|
||||
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
|
||||
build="$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" ;;
|
||||
|
||||
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
|
||||
ac_prev=datadir ;;
|
||||
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
|
||||
| --da=*)
|
||||
datadir="$ac_optarg" ;;
|
||||
|
||||
-disable-* | --disable-*)
|
||||
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
|
||||
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
|
||||
eval "enable_${ac_feature}=no" ;;
|
||||
|
||||
-enable-* | --enable-*)
|
||||
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
|
||||
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
|
||||
case "$ac_option" in
|
||||
*=*) ;;
|
||||
*) ac_optarg=yes ;;
|
||||
esac
|
||||
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)
|
||||
# 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 << EOF
|
||||
Usage: configure [options] [host]
|
||||
Options: [defaults in brackets after descriptions]
|
||||
Configuration:
|
||||
--cache-file=FILE cache test results in FILE
|
||||
--help print this message
|
||||
--no-create do not create output files
|
||||
--quiet, --silent do not print \`checking...' messages
|
||||
--version print the version of autoconf that created configure
|
||||
Directory and file names:
|
||||
--prefix=PREFIX install architecture-independent files in PREFIX
|
||||
[$ac_default_prefix]
|
||||
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
|
||||
[same as prefix]
|
||||
--bindir=DIR user executables in DIR [EPREFIX/bin]
|
||||
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
|
||||
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
|
||||
--datadir=DIR read-only architecture-independent data in DIR
|
||||
[PREFIX/share]
|
||||
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data in DIR
|
||||
[PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
|
||||
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
|
||||
--includedir=DIR C header files in DIR [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
|
||||
--infodir=DIR info documentation in DIR [PREFIX/info]
|
||||
--mandir=DIR man documentation in DIR [PREFIX/man]
|
||||
--srcdir=DIR find the sources in DIR [configure dir or ..]
|
||||
--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
|
||||
EOF
|
||||
cat << EOF
|
||||
Host type:
|
||||
--build=BUILD configure for building on BUILD [BUILD=HOST]
|
||||
--host=HOST configure for HOST [guessed]
|
||||
--target=TARGET configure for TARGET [TARGET=HOST]
|
||||
Features and packages:
|
||||
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
--x-includes=DIR X include files are in DIR
|
||||
--x-libraries=DIR X library files are in DIR
|
||||
EOF
|
||||
if test -n "$ac_help"; then
|
||||
echo "--enable and --with options recognized:$ac_help"
|
||||
fi
|
||||
exit 0 ;;
|
||||
|
||||
-host | --host | --hos | --ho)
|
||||
ac_prev=host ;;
|
||||
-host=* | --host=* | --hos=* | --ho=*)
|
||||
host="$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" ;;
|
||||
|
||||
-localstatedir | --localstatedir | --localstatedi | --localstated \
|
||||
| --localstate | --localstat | --localsta | --localst \
|
||||
| --locals | --local | --loca | --loc | --lo)
|
||||
ac_prev=localstatedir ;;
|
||||
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
|
||||
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
|
||||
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
|
||||
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)
|
||||
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" ;;
|
||||
|
||||
-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 ;;
|
||||
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
|
||||
target="$ac_optarg" ;;
|
||||
|
||||
-v | -verbose | --verbose | --verbos | --verbo | --verb)
|
||||
verbose=yes ;;
|
||||
|
||||
-version | --version | --versio | --versi | --vers)
|
||||
echo "configure generated by autoconf version 2.13"
|
||||
exit 0 ;;
|
||||
|
||||
-with-* | --with-*)
|
||||
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
|
||||
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_package=`echo $ac_package| sed 's/-/_/g'`
|
||||
case "$ac_option" in
|
||||
*=*) ;;
|
||||
*) ac_optarg=yes ;;
|
||||
esac
|
||||
eval "with_${ac_package}='$ac_optarg'" ;;
|
||||
|
||||
-without-* | --without-*)
|
||||
ac_package=`echo $ac_option|sed -e 's/-*without-//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
|
||||
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
|
||||
fi
|
||||
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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
|
||||
;;
|
||||
|
||||
*)
|
||||
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
|
||||
echo "configure: warning: $ac_option: invalid host type" 1>&2
|
||||
fi
|
||||
if test "x$nonopt" != xNONE; then
|
||||
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
|
||||
fi
|
||||
nonopt="$ac_option"
|
||||
;;
|
||||
|
||||
esac
|
||||
done
|
||||
|
||||
if test -n "$ac_prev"; then
|
||||
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
|
||||
|
||||
# File descriptor usage:
|
||||
# 0 standard input
|
||||
# 1 file creation
|
||||
# 2 errors and warnings
|
||||
# 3 some systems may open it to /dev/tty
|
||||
# 4 used on the Kubota Titan
|
||||
# 6 checking for... messages and results
|
||||
# 5 compiler messages saved in config.log
|
||||
if test "$silent" = yes; then
|
||||
exec 6>/dev/null
|
||||
else
|
||||
exec 6>&1
|
||||
fi
|
||||
exec 5>./config.log
|
||||
|
||||
echo "\
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
" 1>&5
|
||||
|
||||
# Strip out --no-create and --no-recursion so they do not pile up.
|
||||
# Also quote any args containing shell metacharacters.
|
||||
ac_configure_args=
|
||||
for ac_arg
|
||||
do
|
||||
case "$ac_arg" in
|
||||
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
|
||||
| --no-cr | --no-c) ;;
|
||||
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
|
||||
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
|
||||
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
|
||||
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
|
||||
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# NLS nuisances.
|
||||
# Only set these to C if already set. These must not be set unconditionally
|
||||
# because not all systems understand e.g. LANG=C (notably SCO).
|
||||
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
|
||||
# Non-C LC_CTYPE values break the ctype check.
|
||||
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
|
||||
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
|
||||
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
|
||||
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
|
||||
|
||||
# confdefs.h avoids OS command line length limits that DEFS can exceed.
|
||||
rm -rf conftest* confdefs.h
|
||||
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
|
||||
echo > confdefs.h
|
||||
|
||||
# A filename unique to this package, relative to the directory that
|
||||
# configure is in, which we can look for to find out if srcdir is correct.
|
||||
ac_unique_file=Makefile.in
|
||||
|
||||
# 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 its parent.
|
||||
ac_prog=$0
|
||||
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
|
||||
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
|
||||
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
|
||||
if test "$ac_srcdir_defaulted" = yes; then
|
||||
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
|
||||
else
|
||||
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
|
||||
fi
|
||||
fi
|
||||
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
|
||||
|
||||
# Prefer explicitly selected file to automatically selected ones.
|
||||
if test -z "$CONFIG_SITE"; then
|
||||
if test "x$prefix" != xNONE; then
|
||||
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
|
||||
else
|
||||
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
|
||||
fi
|
||||
fi
|
||||
for ac_site_file in $CONFIG_SITE; do
|
||||
if test -r "$ac_site_file"; then
|
||||
echo "loading site script $ac_site_file"
|
||||
. "$ac_site_file"
|
||||
fi
|
||||
done
|
||||
|
||||
if test -r "$cache_file"; then
|
||||
echo "loading cache $cache_file"
|
||||
. $cache_file
|
||||
else
|
||||
echo "creating cache $cache_file"
|
||||
> $cache_file
|
||||
fi
|
||||
|
||||
ac_ext=c
|
||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
ac_exeext=
|
||||
ac_objext=o
|
||||
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
|
||||
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
|
||||
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
|
||||
ac_n= ac_c='
|
||||
' ac_t=' '
|
||||
else
|
||||
ac_n=-n ac_c= ac_t=
|
||||
fi
|
||||
else
|
||||
ac_n= ac_c='\c' ac_t=
|
||||
fi
|
||||
|
||||
|
||||
|
||||
trap '' 1 2 15
|
||||
cat > confcache <<\EOF
|
||||
# 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. It is not useful on other systems.
|
||||
# If it contains results you don't want to keep, you may remove or edit it.
|
||||
#
|
||||
# By default, configure uses ./config.cache as the cache file,
|
||||
# creating it if it does not exist already. You can give configure
|
||||
# the --cache-file=FILE option to use a different cache file; that is
|
||||
# what configure does when it calls configure scripts in
|
||||
# subdirectories, so they share the cache.
|
||||
# Giving --cache-file=/dev/null disables caching, for debugging configure.
|
||||
# config.status only pays attention to the cache file if you give it the
|
||||
# --recheck option to rerun configure.
|
||||
#
|
||||
EOF
|
||||
# The following way of writing the cache mishandles newlines in values,
|
||||
# but we know of no workaround that is simple, portable, and efficient.
|
||||
# So, don't put newlines in cache variables' values.
|
||||
# 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.
|
||||
(set) 2>&1 |
|
||||
case `(ac_space=' '; set | grep ac_space) 2>&1` in
|
||||
*ac_space=\ *)
|
||||
# `set' does not quote correctly, so add quotes (double-quote substitution
|
||||
# turns \\\\ into \\, and sed turns \\ into \).
|
||||
sed -n \
|
||||
-e "s/'/'\\\\''/g" \
|
||||
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
|
||||
;;
|
||||
*)
|
||||
# `set' quotes correctly as required by POSIX, so do not add quotes.
|
||||
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
|
||||
;;
|
||||
esac >> confcache
|
||||
if cmp -s $cache_file confcache; then
|
||||
:
|
||||
else
|
||||
if test -w $cache_file; then
|
||||
echo "updating cache $cache_file"
|
||||
cat confcache > $cache_file
|
||||
else
|
||||
echo "not updating unwritable cache $cache_file"
|
||||
fi
|
||||
fi
|
||||
rm -f confcache
|
||||
|
||||
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
|
||||
|
||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
# Let make expand exec_prefix.
|
||||
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
|
||||
|
||||
# Any assignment to VPATH causes Sun make to only execute
|
||||
# the first set of double-colon rules, so remove it if not needed.
|
||||
# If there is a colon in the path, we need to keep it.
|
||||
if test "x$srcdir" = x.; then
|
||||
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
|
||||
fi
|
||||
|
||||
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
|
||||
|
||||
# Transform confdefs.h into DEFS.
|
||||
# Protect against shell expansion while executing Makefile rules.
|
||||
# Protect against Makefile macro expansion.
|
||||
cat > conftest.defs <<\EOF
|
||||
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
|
||||
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
|
||||
s%\[%\\&%g
|
||||
s%\]%\\&%g
|
||||
s%\$%$$%g
|
||||
EOF
|
||||
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
|
||||
rm -f conftest.defs
|
||||
|
||||
|
||||
# Without the "./", some shells look in PATH for config.status.
|
||||
: ${CONFIG_STATUS=./config.status}
|
||||
|
||||
echo creating $CONFIG_STATUS
|
||||
rm -f $CONFIG_STATUS
|
||||
cat > $CONFIG_STATUS <<EOF
|
||||
#! /bin/sh
|
||||
# Generated automatically by configure.
|
||||
# Run this file to recreate the current configuration.
|
||||
# This directory was configured as follows,
|
||||
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
|
||||
#
|
||||
# $0 $ac_configure_args
|
||||
#
|
||||
# Compiler output produced by configure, useful for debugging
|
||||
# configure, is in ./config.log if it exists.
|
||||
|
||||
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
|
||||
for ac_option
|
||||
do
|
||||
case "\$ac_option" in
|
||||
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
|
||||
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
|
||||
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
|
||||
echo "$CONFIG_STATUS generated by autoconf version 2.13"
|
||||
exit 0 ;;
|
||||
-help | --help | --hel | --he | --h)
|
||||
echo "\$ac_cs_usage"; exit 0 ;;
|
||||
*) echo "\$ac_cs_usage"; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
ac_given_srcdir=$srcdir
|
||||
|
||||
trap 'rm -fr `echo "
|
||||
Makefile
|
||||
bombs/Makefile
|
||||
dbbrowse/Makefile
|
||||
forty/Makefile
|
||||
fractal/Makefile
|
||||
life/Makefile
|
||||
poem/Makefile
|
||||
" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<EOF
|
||||
|
||||
# Protect against being on the right side of a sed subst in config.status.
|
||||
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
|
||||
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
|
||||
$ac_vpsub
|
||||
$extrasub
|
||||
s%@SHELL@%$SHELL%g
|
||||
s%@CFLAGS@%$CFLAGS%g
|
||||
s%@CPPFLAGS@%$CPPFLAGS%g
|
||||
s%@CXXFLAGS@%$CXXFLAGS%g
|
||||
s%@FFLAGS@%$FFLAGS%g
|
||||
s%@DEFS@%$DEFS%g
|
||||
s%@LDFLAGS@%$LDFLAGS%g
|
||||
s%@LIBS@%$LIBS%g
|
||||
s%@exec_prefix@%$exec_prefix%g
|
||||
s%@prefix@%$prefix%g
|
||||
s%@program_transform_name@%$program_transform_name%g
|
||||
s%@bindir@%$bindir%g
|
||||
s%@sbindir@%$sbindir%g
|
||||
s%@libexecdir@%$libexecdir%g
|
||||
s%@datadir@%$datadir%g
|
||||
s%@sysconfdir@%$sysconfdir%g
|
||||
s%@sharedstatedir@%$sharedstatedir%g
|
||||
s%@localstatedir@%$localstatedir%g
|
||||
s%@libdir@%$libdir%g
|
||||
s%@includedir@%$includedir%g
|
||||
s%@oldincludedir@%$oldincludedir%g
|
||||
s%@infodir@%$infodir%g
|
||||
s%@mandir@%$mandir%g
|
||||
|
||||
CEOF
|
||||
EOF
|
||||
|
||||
cat >> $CONFIG_STATUS <<\EOF
|
||||
|
||||
# Split the substitutions into bite-sized pieces for seds with
|
||||
# small command number limits, like on Digital OSF/1 and HP-UX.
|
||||
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
|
||||
ac_file=1 # Number of current file.
|
||||
ac_beg=1 # First line for current file.
|
||||
ac_end=$ac_max_sed_cmds # Line after last line for current file.
|
||||
ac_more_lines=:
|
||||
ac_sed_cmds=""
|
||||
while $ac_more_lines; do
|
||||
if test $ac_beg -gt 1; then
|
||||
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
|
||||
else
|
||||
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
|
||||
fi
|
||||
if test ! -s conftest.s$ac_file; then
|
||||
ac_more_lines=false
|
||||
rm -f conftest.s$ac_file
|
||||
else
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds="sed -f conftest.s$ac_file"
|
||||
else
|
||||
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
|
||||
fi
|
||||
ac_file=`expr $ac_file + 1`
|
||||
ac_beg=$ac_end
|
||||
ac_end=`expr $ac_end + $ac_max_sed_cmds`
|
||||
fi
|
||||
done
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds=cat
|
||||
fi
|
||||
EOF
|
||||
|
||||
cat >> $CONFIG_STATUS <<EOF
|
||||
|
||||
CONFIG_FILES=\${CONFIG_FILES-"Makefile
|
||||
bombs/Makefile
|
||||
dbbrowse/Makefile
|
||||
forty/Makefile
|
||||
fractal/Makefile
|
||||
life/Makefile
|
||||
poem/Makefile
|
||||
"}
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<\EOF
|
||||
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
||||
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
|
||||
case "$ac_file" in
|
||||
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
|
||||
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||
*) ac_file_in="${ac_file}.in" ;;
|
||||
esac
|
||||
|
||||
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
|
||||
|
||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
||||
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
|
||||
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
|
||||
# The file is in a subdirectory.
|
||||
test ! -d "$ac_dir" && mkdir "$ac_dir"
|
||||
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
|
||||
# A "../" for each directory in $ac_dir_suffix.
|
||||
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
|
||||
else
|
||||
ac_dir_suffix= ac_dots=
|
||||
fi
|
||||
|
||||
case "$ac_given_srcdir" in
|
||||
.) srcdir=.
|
||||
if test -z "$ac_dots"; then top_srcdir=.
|
||||
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
|
||||
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
|
||||
*) # Relative path.
|
||||
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
|
||||
top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||
esac
|
||||
|
||||
|
||||
echo creating "$ac_file"
|
||||
rm -f "$ac_file"
|
||||
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
|
||||
case "$ac_file" in
|
||||
*Makefile*) ac_comsub="1i\\
|
||||
# $configure_input" ;;
|
||||
*) ac_comsub= ;;
|
||||
esac
|
||||
|
||||
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
|
||||
sed -e "$ac_comsub
|
||||
s%@configure_input@%$configure_input%g
|
||||
s%@srcdir@%$srcdir%g
|
||||
s%@top_srcdir@%$top_srcdir%g
|
||||
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
|
||||
fi; done
|
||||
rm -f conftest.s*
|
||||
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<EOF
|
||||
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<\EOF
|
||||
|
||||
exit 0
|
||||
EOF
|
||||
chmod +x $CONFIG_STATUS
|
||||
rm -fr confdefs* $ac_clean_files
|
||||
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
|
||||
|
@@ -1,14 +0,0 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_REVISION($Id$)dnl
|
||||
|
||||
AC_INIT(Makefile.in)
|
||||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
bombs/Makefile
|
||||
dbbrowse/Makefile
|
||||
forty/Makefile
|
||||
fractal/Makefile
|
||||
life/Makefile
|
||||
poem/Makefile
|
||||
])
|
@@ -1,23 +0,0 @@
|
||||
#
|
||||
# File: Makefile.in
|
||||
# Author: Julian Smart
|
||||
# Created: 1998
|
||||
# Updated:
|
||||
# Copyright: (c) 1998 Julian Smart
|
||||
#
|
||||
# "%W% %G%"
|
||||
#
|
||||
# Makefile for dbbrowse example (UNIX).
|
||||
|
||||
top_srcdir = @top_srcdir@/..
|
||||
top_builddir = ../..
|
||||
program_dir = demos/dbbrowse
|
||||
|
||||
PROGRAM=dbbrowse
|
||||
|
||||
|
||||
OBJECTS= dbbrowse.o doc.o pgmctrl.o tabpgwin.o \
|
||||
browsedb.o dbtree.o dbgrid.o dlguser.o
|
||||
|
||||
include ../../src/makeprog.env
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,23 +0,0 @@
|
||||
/* XPM */
|
||||
static char* COL_xpm[] = {
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
"! c #000080",
|
||||
"# c #C0C0C0",
|
||||
"$ c #808080",
|
||||
"$$$$$$$ $$$$",
|
||||
"$######!!!!!### ",
|
||||
"$######!!!!!### ",
|
||||
"$######!!!!!### ",
|
||||
"$######!###!### ",
|
||||
"$# #!$$$!# # ",
|
||||
"$# ####! !### ",
|
||||
"$# #! ! !# # ",
|
||||
"$# ####! !### ",
|
||||
"$# #! ! !# # ",
|
||||
"$# ####! !### ",
|
||||
"$# #! ! !# # ",
|
||||
"$$$$$$#! !### ",
|
||||
" #! !# ",
|
||||
" #!!!!!# ",
|
||||
" "};
|
Before Width: | Height: | Size: 318 B |
@@ -1,26 +0,0 @@
|
||||
/* XPM */
|
||||
static char * DocClosed_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"16 16 4 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #000000",
|
||||
"& c #ff0000",
|
||||
"+ c #ffffff",
|
||||
/* pixels */
|
||||
" ",
|
||||
"........ ",
|
||||
".++++++.. ",
|
||||
".+.+.++.+. ",
|
||||
".++++++.... ",
|
||||
".+.+.+++++.. ",
|
||||
".+++++++++.&. ",
|
||||
".+.+.+.+.+.&&. ",
|
||||
".+++++++++.&&&. ",
|
||||
".+.+.+.+.+.&&&. ",
|
||||
".+++++++++.&&. ",
|
||||
".+.+.+.+.+.&. ",
|
||||
".+++++++++.. ",
|
||||
"........... ",
|
||||
" ",
|
||||
" "};
|
Before Width: | Height: | Size: 318 B |
@@ -1,26 +0,0 @@
|
||||
/* XPM */
|
||||
static char * DocOpen_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"16 16 4 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #000000",
|
||||
"& c #00ff00",
|
||||
"+ c #ffffff",
|
||||
/* pixels */
|
||||
" ",
|
||||
"........ ",
|
||||
".++++++.. ",
|
||||
".+.+.++.+. ",
|
||||
".++++++.... ",
|
||||
".+.+.+++++.. ",
|
||||
".+++++++++.&. ",
|
||||
".+.+.+.+.+.&&. ",
|
||||
".+++++++++.&&&. ",
|
||||
".+.+.+.+.+.&&&. ",
|
||||
".+++++++++.&&. ",
|
||||
".+.+.+.+.+.&. ",
|
||||
".+++++++++.. ",
|
||||
"........... ",
|
||||
" ",
|
||||
" "};
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,23 +0,0 @@
|
||||
/* XPM */
|
||||
static char* DSN_xpm[] = {
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
"! c #C0C0C0",
|
||||
"# c #808080",
|
||||
"$ c #FFFF00",
|
||||
" # ####### ",
|
||||
" ###!#!!!!## ",
|
||||
" #!#!!!!!!!!# ",
|
||||
"$## !!###!!!!# ",
|
||||
" # #!!!!!!!!# ",
|
||||
" #!#!#!!!### ",
|
||||
" $#!#!### ## ",
|
||||
" # $!!#### # ",
|
||||
" # !### ## ",
|
||||
" # !!!#### # ",
|
||||
" # !### ## ",
|
||||
" # !!!#### # ",
|
||||
" # !### ## ",
|
||||
" # !!!#### # ",
|
||||
" ## !### ## ",
|
||||
" ######## "};
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,23 +0,0 @@
|
||||
/* XPM */
|
||||
static char* DsnClosed_xpm[] = {
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
"! c #C0C0C0",
|
||||
"# c #808080",
|
||||
"$ c #FF0000",
|
||||
" $ $##$### ",
|
||||
" $#$!$!!!!## ",
|
||||
" #!$!!!!!!!!# ",
|
||||
"$$$ !!$$$!!!!# ",
|
||||
" # $!!!!!!!!# ",
|
||||
" $!$!$!!!### ",
|
||||
" $!!$!#!$ ## ",
|
||||
" # $!!#### # ",
|
||||
" # !### ## ",
|
||||
" # !!!#### # ",
|
||||
" # !### ## ",
|
||||
" # !!!#### # ",
|
||||
" # !### ## ",
|
||||
" # !!!#### # ",
|
||||
" ## !### ## ",
|
||||
" ######## "};
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,23 +0,0 @@
|
||||
/* XPM */
|
||||
static char* DsnOpen_xpm[] = {
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
"! c #C0C0C0",
|
||||
"# c #808080",
|
||||
"$ c #00FF00",
|
||||
" $ $##$### ",
|
||||
" $#$!$!!!!## ",
|
||||
" #!$!!!!!!!!# ",
|
||||
"$$$ !!$$$!!!!# ",
|
||||
" # $!!!!!!!!# ",
|
||||
" $!$!$!!!### ",
|
||||
" $!!$!#!$ ## ",
|
||||
" # $!!#### # ",
|
||||
" # !### ## ",
|
||||
" # !!!#### # ",
|
||||
" # !### ## ",
|
||||
" # !!!#### # ",
|
||||
" # !### ## ",
|
||||
" # !!!#### # ",
|
||||
" ## !### ## ",
|
||||
" ######## "};
|
Before Width: | Height: | Size: 318 B |
@@ -1,28 +0,0 @@
|
||||
/* XPM */
|
||||
static char * FolderClosed_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"16 16 6 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #000000",
|
||||
"+ c #c0c0c0",
|
||||
"@ c #808080",
|
||||
"# c #ffff00",
|
||||
"$ c #ffffff",
|
||||
/* pixels */
|
||||
" ",
|
||||
" @@@@@ ",
|
||||
" @#+#+#@ ",
|
||||
" @#+#+#+#@@@@@@ ",
|
||||
" @$$$$$$$$$$$$@.",
|
||||
" @$#+#+#+#+#+#@.",
|
||||
" @$+#+#+#+#+#+@.",
|
||||
" @$#+#+#+#+#+#@.",
|
||||
" @$+#+#+#+#+#+@.",
|
||||
" @$#+#+#+#+#+#@.",
|
||||
" @$+#+#+#+#+#+@.",
|
||||
" @$#+#+#+#+#+#@.",
|
||||
" @@@@@@@@@@@@@@.",
|
||||
" ..............",
|
||||
" ",
|
||||
" "};
|
Before Width: | Height: | Size: 318 B |
@@ -1,28 +0,0 @@
|
||||
/* XPM */
|
||||
static char * FolderOpen_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"16 16 6 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #000000",
|
||||
"+ c #c0c0c0",
|
||||
"@ c #808080",
|
||||
"# c #ffff00",
|
||||
"$ c #ffffff",
|
||||
/* pixels */
|
||||
" ",
|
||||
" @@@@@ ",
|
||||
" @$$$$$@ ",
|
||||
" @$#+#+#$@@@@@@ ",
|
||||
" @$+#+#+$$$$$$@.",
|
||||
" @$#+#+#+#+#+#@.",
|
||||
"@@@@@@@@@@@@@#@.",
|
||||
"@$$$$$$$$$$@@+@.",
|
||||
"@$#+#+#+#+##.@@.",
|
||||
" @$#+#+#+#+#+.@.",
|
||||
" @$+#+#+#+#+#.@.",
|
||||
" @$+#+#+#+##@..",
|
||||
" @@@@@@@@@@@@@.",
|
||||
" .............",
|
||||
" ",
|
||||
" "};
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,26 +0,0 @@
|
||||
/* XPM */
|
||||
static char* KEY_xpm[] = {
|
||||
"16 16 7 1",
|
||||
" c #000000",
|
||||
"! c #008000",
|
||||
"# c #808000",
|
||||
"$ c #000080",
|
||||
"% c #C0C0C0",
|
||||
"& c #808080",
|
||||
"' c #FFFF00",
|
||||
" && ",
|
||||
" ## #&% ",
|
||||
" #'& $'#& ",
|
||||
"#''& $'#% ",
|
||||
"#''& %'#& ",
|
||||
" #'''''%#% ",
|
||||
" ##%%%'#% ",
|
||||
" #%'# ",
|
||||
" #'#& !!!!! ",
|
||||
" %#'## !!!!! ",
|
||||
" ###& !! !! ",
|
||||
" #'## !!!!! ",
|
||||
" ###& !!!! ",
|
||||
" #'#& !! ",
|
||||
" #%#& !!!! ",
|
||||
" &% "};
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,26 +0,0 @@
|
||||
/* XPM */
|
||||
static char* KEYF_xpm[] = {
|
||||
"16 16 7 1",
|
||||
" c #000000",
|
||||
"! c #808000",
|
||||
"# c #000080",
|
||||
"$ c #C0C0C0",
|
||||
"% c #808080",
|
||||
"& c #FFFF00",
|
||||
"' c #0000FF",
|
||||
" %% ",
|
||||
" !! !%$ ",
|
||||
" !&% #&!% ",
|
||||
"!&&% #&!$ ",
|
||||
"!&&% $&!% ",
|
||||
" !&&&&&$!$ ",
|
||||
" !!$$$&!$ ",
|
||||
" !$&!$ ",
|
||||
" !&!% '''''' ",
|
||||
" $!&!! '' ' ",
|
||||
" !!!% '' ",
|
||||
" !&!! ''' ",
|
||||
" !!!% '' ",
|
||||
" !&!% '' ",
|
||||
" !$!% '''' ",
|
||||
" %$ "};
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,23 +0,0 @@
|
||||
/* XPM */
|
||||
static char* aLogo_xpm[] = {
|
||||
"16 16 4 1",
|
||||
" c #000000",
|
||||
"! c #C0C0C0",
|
||||
"# c #808080",
|
||||
"$ c #FF0000",
|
||||
" ###### ",
|
||||
" ##!!! ## ",
|
||||
" #!!! !!! # ",
|
||||
" #!!! ! !! # ",
|
||||
" #!! ! !!!! ",
|
||||
" #!! ! !!!!! ",
|
||||
" #!! !!!!! ",
|
||||
" # !! # ",
|
||||
" # !! ### $ ",
|
||||
" #!!!!# !$$ ",
|
||||
" # !!### ##!$$ ",
|
||||
" #!!!!#### #!$$ ",
|
||||
" # !!### ## #!$$",
|
||||
" #!!!!#### # #$#",
|
||||
" ##!!### ## # ",
|
||||
" ######## "};
|
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,27 +0,0 @@
|
||||
/* XPM */
|
||||
static char * PgmCtrl_xpm[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"16 16 5 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #000000",
|
||||
"+ c #ff0000",
|
||||
"@ c #0000ff",
|
||||
"# c #ffffff",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ########## ",
|
||||
" #........# ",
|
||||
" #........# ",
|
||||
" #........# ",
|
||||
" #..########### ",
|
||||
" #..#+++++++++# ",
|
||||
" ####++#####++# ",
|
||||
" #+#@@@@@#+# ",
|
||||
" #+#@@@@@#+# ",
|
||||
" #+#@@@@@#+# ",
|
||||
" #++#####++# ",
|
||||
" #+++++++++# ",
|
||||
" ########### ",
|
||||
" "};
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,26 +0,0 @@
|
||||
/* XPM */
|
||||
static char* TAB_xpm[] = {
|
||||
"16 16 7 1",
|
||||
" c #000000",
|
||||
"! c #800080",
|
||||
"# c #008080",
|
||||
"$ c #C0C0C0",
|
||||
"% c #808080",
|
||||
"& c #0000FF",
|
||||
"' c #00FFFF",
|
||||
" ",
|
||||
" ",
|
||||
"!!!!!!!!!!!!!!!!",
|
||||
"!&&&&&&&&&&&&&&!",
|
||||
"!!!!!!!!!!!!!!!!",
|
||||
"!'$'#$'$$$#$$$$!",
|
||||
"!$'$#'$$$$#$$$$!",
|
||||
"!##############!",
|
||||
"!$'$#$$$$$#$$%$!",
|
||||
"!'$$#$$$$$#$%$%!",
|
||||
"!##############!",
|
||||
"!$$$#$$%$$#%%%%!",
|
||||
"!$$%#$%$%%#%%%%!",
|
||||
"!!!!!!!!!!!!!!!!",
|
||||
" ",
|
||||
" "};
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,24 +0,0 @@
|
||||
/* XPM */
|
||||
static char* VIEW_xpm[] = {
|
||||
"16 16 5 1",
|
||||
" c #000000",
|
||||
"! c #000080",
|
||||
"# c #C0C0C0",
|
||||
"$ c #808080",
|
||||
"% c #FFFFFF",
|
||||
"$$$$$$$$$$$$$$$$",
|
||||
"$$$$$$$$$$$$$$$$",
|
||||
"$#############$ ",
|
||||
"$#$$$$$$$$$$$$$ ",
|
||||
"$$$$$$$$$$$$$$$ ",
|
||||
"$$############# ",
|
||||
"$$#$$$$$$$$$$$$ ",
|
||||
"$$#$$$$$$$$$$$$ ",
|
||||
"$$#$$$$$$$$$$$$ ",
|
||||
"$$#%%%%%%%%%%%$ ",
|
||||
"$$#%!!!%!!!%!%$ ",
|
||||
"$$#%%%%%%%%%%%$ ",
|
||||
"$$#%!!!%!!!%!%$ ",
|
||||
"$$#%%%%%%%%%%%$ ",
|
||||
" $#%!!!%!!!%!% ",
|
||||
"%$$$$$$$$$$$$$$$"};
|
@@ -1,471 +0,0 @@
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Name: BrowserDB.h,cpp
|
||||
// Purpose: a wxDB class
|
||||
// Author: Mark Johnson, mj10777@gmx.net
|
||||
// Modified by:
|
||||
// Created: 19991127.mj10777
|
||||
// Copyright: (c) Mark Johnson
|
||||
// Licence: wxWindows license
|
||||
// RCS-ID: $Id$
|
||||
//----------------------------------------------------------------------------------------
|
||||
//-- 1)
|
||||
//----------------------------------------------------------------------------------------
|
||||
//-- all #ifdefs that the whole Project needs. -------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation
|
||||
#pragma interface
|
||||
#endif
|
||||
//----------------------------------------------------------------------------------------
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
//----------------------------------------------------------------------------------------
|
||||
#include "std.h"
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Global structure for holding ODBC connection information
|
||||
// - darf nur einmal im Projekte definiert werden ?? Extra Databasse Klasse ?
|
||||
struct DbStuff ConnectInf; // F<>r DBase
|
||||
//----------------------------------------------------------------------------------------
|
||||
extern DbList* WXDLLEXPORT PtrBegDbList; /* from db.cpp, used in getting back error results from db connections */
|
||||
//----------------------------------------------------------------------------------------
|
||||
char *GetExtendedDBErrorMsg(char *ErrFile, int ErrLine)
|
||||
{
|
||||
static wxString msg;
|
||||
wxString tStr;
|
||||
if (ErrFile || ErrLine)
|
||||
{
|
||||
msg += "File: ";
|
||||
msg += ErrFile;
|
||||
msg += " Line: ";
|
||||
tStr.Printf("%d",ErrLine);
|
||||
msg += tStr.GetData();
|
||||
// msg += "\n";
|
||||
}
|
||||
msg.Append ("\nODBC errors:\n");
|
||||
// msg += "\n";
|
||||
/* Scan through each database connection displaying
|
||||
* any ODBC errors that have occured. */
|
||||
for (DbList *pDbList = PtrBegDbList; pDbList; pDbList = pDbList->PtrNext)
|
||||
{
|
||||
// Skip over any free connections
|
||||
if (pDbList->Free)
|
||||
continue;
|
||||
// Display errors for this connection
|
||||
for (int i = 0; i < DB_MAX_ERROR_HISTORY; i++)
|
||||
{
|
||||
if (pDbList->PtrDb->errorList[i])
|
||||
{
|
||||
msg.Append(pDbList->PtrDb->errorList[i]);
|
||||
if (strcmp(pDbList->PtrDb->errorList[i],"") != 0)
|
||||
msg.Append("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
msg += "\n";
|
||||
return (char*) (const char*) msg;
|
||||
} // GetExtendedDBErrorMsg
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
BrowserDB::BrowserDB()
|
||||
{
|
||||
Zeiger_auf_NULL(0);
|
||||
ODBCSource = ""; // ODBC data source name (created with ODBC Administrator under Win95/NT)
|
||||
UserName = ""; // database username - must already exist in the data source
|
||||
Password = ""; // password database username
|
||||
OnFillSqlTyp();
|
||||
OnFilldbTyp();
|
||||
} // BrowserDB Constructor
|
||||
//----------------------------------------------------------------------------------------
|
||||
BrowserDB::~BrowserDB()
|
||||
{
|
||||
Zeiger_auf_NULL(1); // Clean up Tables and Databases (Commit, Close und delete)
|
||||
} // BrowserDB destructor
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::Initialize(int Quite)
|
||||
{
|
||||
if (!OnStartDB(Quite))
|
||||
{
|
||||
wxLogMessage(_("\n\n-E-> BrowserDB::OnStartDB(%s) : Failed ! "),ODBCSource.c_str());
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
} // BrowserDB:Initialize
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnStartDB(int Quite)
|
||||
{
|
||||
wxStopWatch sw;
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnStartDB(%s) : Begin "),ODBCSource.c_str());
|
||||
if (db_BrowserDB != NULL)
|
||||
{
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnStartDB() : DB is allready open."));
|
||||
return TRUE;
|
||||
}
|
||||
// Initialize the ODBC Environment for Database Operations
|
||||
if (SQLAllocEnv(&ConnectInf.Henv) != SQL_SUCCESS)
|
||||
{
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-E-> BrowserDB::OnStartDB() : DB CONNECTION ERROR : A problem occured while trying to get a connection to the data source"));
|
||||
return FALSE;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Connect to datasource
|
||||
//---------------------------------------------------------------------------------------
|
||||
DlgUser *p_Dlg;
|
||||
p_Dlg = new DlgUser(pDoc->p_MainFrame,pDoc,"");
|
||||
p_Dlg->s_DSN = ODBCSource;
|
||||
p_Dlg->s_User = UserName;
|
||||
p_Dlg->s_Password = Password;
|
||||
p_Dlg->OnInit();
|
||||
p_Dlg->Fit();
|
||||
|
||||
bool OK = FALSE;
|
||||
if (p_Dlg->ShowModal() == wxID_OK)
|
||||
{
|
||||
(pDoc->p_DSN+i_Which)->Usr = p_Dlg->s_User;
|
||||
(pDoc->p_DSN+i_Which)->Pas = p_Dlg->s_Password;
|
||||
UserName = p_Dlg->s_User;
|
||||
Password = p_Dlg->s_Password;
|
||||
OK = TRUE;
|
||||
}
|
||||
delete p_Dlg;
|
||||
if (OK)
|
||||
{
|
||||
//--------------------------------------------------------------------------------------
|
||||
strcpy(ConnectInf.Dsn, ODBCSource); // ODBC data source name (created with ODBC Administrator under Win95/NT)
|
||||
strcpy(ConnectInf.Uid, UserName); // database username - must already exist in the data source
|
||||
strcpy(ConnectInf.AuthStr, Password); // password database username
|
||||
db_BrowserDB = GetDbConnection(&ConnectInf);
|
||||
// wxLogMessage(">>>%s<<<>>>%s<<<",UserName.c_str(),Password.c_str());
|
||||
if (db_BrowserDB == NULL)
|
||||
{
|
||||
strcpy(ConnectInf.Dsn, "");
|
||||
strcpy(ConnectInf.Uid, "");
|
||||
strcpy(ConnectInf.AuthStr, "");
|
||||
if (!Quite)
|
||||
{
|
||||
wxLogMessage(_("\n-E-> BrowserDB::OnConnectDataSource() DB CONNECTION ERROR : Unable to connect to the data source.\n\nCheck the name of your data source to verify it has been correctly entered/spelled.\n\nWith some databases, the user name and password must\nbe created with full rights to the table prior to making a connection\n(using tools provided by the database manufacturer)"));
|
||||
wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End - Time needed : %ld ms"),ODBCSource.c_str(),sw.Time());
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
//--------------------------------------------------------------------------------------
|
||||
if (!Quite)
|
||||
{
|
||||
Temp1 = db_BrowserDB->GetDatabaseName();
|
||||
Temp2 = db_BrowserDB->GetDataSource();
|
||||
wxLogMessage(_("-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"),Temp1.c_str(),Temp2.c_str());
|
||||
wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End - Time needed : %ld ms"),ODBCSource.c_str(),sw.Time());
|
||||
}
|
||||
return TRUE;
|
||||
} else return FALSE;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnCloseDB(int Quite)
|
||||
{
|
||||
if (!Quite)
|
||||
wxLogMessage(_("-I-> BrowserDB::OnCloseDB() : Begin "));
|
||||
if (db_BrowserDB)
|
||||
{
|
||||
db_BrowserDB->Close();
|
||||
FreeDbConnection(db_BrowserDB);
|
||||
|
||||
// Free Environment Handle that ODBC uses
|
||||
if (SQLFreeEnv(&ConnectInf.Henv) != SQL_SUCCESS)
|
||||
{
|
||||
// Error freeing environment handle
|
||||
}
|
||||
db_BrowserDB = NULL;
|
||||
}
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnCloseDB() : End "));
|
||||
return TRUE;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnGetNext(int Cols,int Quite)
|
||||
{
|
||||
SDWORD cb;
|
||||
int i_dbDataType;
|
||||
int i=0;
|
||||
char s_temp[1024+1];
|
||||
long l_temp;
|
||||
double f_temp;
|
||||
int AnzError=0;
|
||||
TIMESTAMP_STRUCT t_temp;
|
||||
wxString Temp0;
|
||||
//-----------------------------
|
||||
if (!db_BrowserDB->GetNext())
|
||||
{
|
||||
return FALSE;
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
wxMessageBox(Temp0);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i=0;i<Cols;i++)
|
||||
{
|
||||
strcpy((cl_BrowserDB+i)->tableName,"-E->");
|
||||
i_dbDataType = (cl_BrowserDB->pColFor+i)->i_dbDataType;
|
||||
if (i_dbDataType == 0) // Filter unsupported dbDataTypes
|
||||
{
|
||||
if (((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_VARCHAR) || ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_LONGVARCHAR))
|
||||
i_dbDataType = DB_DATA_TYPE_VARCHAR;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DATE)
|
||||
i_dbDataType = DB_DATA_TYPE_DATE;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_BIT)
|
||||
i_dbDataType = DB_DATA_TYPE_INTEGER;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_NUMERIC)
|
||||
i_dbDataType = DB_DATA_TYPE_VARCHAR;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_REAL)
|
||||
i_dbDataType = DB_DATA_TYPE_FLOAT;
|
||||
}
|
||||
if ((i_dbDataType == DB_DATA_TYPE_INTEGER) && ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DOUBLE))
|
||||
{ // DBASE Numeric
|
||||
i_dbDataType = DB_DATA_TYPE_FLOAT;
|
||||
}
|
||||
switch(i_dbDataType)
|
||||
{
|
||||
case DB_DATA_TYPE_VARCHAR:
|
||||
strcpy(s_temp,"");
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_dbDataType,&s_temp,sizeof(s_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext of >%s<.\n-E-> "),(cl_BrowserDB+i)->tableName);
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
}
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,s_temp);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
break;
|
||||
case DB_DATA_TYPE_INTEGER:
|
||||
l_temp = 0;
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&l_temp,sizeof(l_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
}
|
||||
else
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,l_temp);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
break;
|
||||
case DB_DATA_TYPE_FLOAT:
|
||||
f_temp = 0;
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&f_temp,sizeof(f_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxMessageBox(Temp0);
|
||||
}
|
||||
else
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,f_temp);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
break;
|
||||
case DB_DATA_TYPE_DATE:
|
||||
t_temp.day = t_temp.month = t_temp.year = t_temp.hour = t_temp.minute = t_temp.second = t_temp.fraction = 0;
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&t_temp,sizeof(t_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
}
|
||||
else
|
||||
{
|
||||
// i_Nation = 0 = timestamp , 1=EU, 2=UK, 3=International, 4=US
|
||||
if (((cl_BrowserDB->pColFor+i)->i_Nation == 0) || // TS YYYY-MM-DD
|
||||
((cl_BrowserDB->pColFor+i)->i_Nation == 3)) // IT YYYY-MM-DD
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.year,t_temp.month,t_temp.day,
|
||||
t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
if (((cl_BrowserDB->pColFor+i)->i_Nation == 1) || // EU DD.MM.YYYY
|
||||
((cl_BrowserDB->pColFor+i)->i_Nation == 2)) // UK DD/MM/YYYY
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.day,t_temp.month,t_temp.year,
|
||||
t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
if ((cl_BrowserDB->pColFor+i)->i_Nation == 3) // US MM/DD/YYYY
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.month,t_temp.day,t_temp.year,
|
||||
t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
AnzError++;
|
||||
if (AnzError <= 100)
|
||||
{
|
||||
Temp0 = (cl_BrowserDB+i)->colName;
|
||||
wxLogMessage(_("-E-> BrowserDB::OnGetNext - DB_DATA_TYPE_?? (%d) in Col(%s)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,Temp0.c_str());
|
||||
}
|
||||
else
|
||||
return TRUE;
|
||||
Temp0.Printf(_("-E-> unknown Format(%d) - sql(%d)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,(cl_BrowserDB->pColFor+i)->i_sqlDataType);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
break;
|
||||
};
|
||||
}
|
||||
}
|
||||
// wxLogMessage("-E-> BrowserDB::OnGetNext - End");
|
||||
return TRUE;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnSelect(wxString tb_Name, int Quite)
|
||||
{
|
||||
wxStopWatch sw;
|
||||
wxString SQLStmt;
|
||||
i_Records = 0;
|
||||
//---------------------------------------------------------------------------------------
|
||||
SQLStmt.sprintf("SELECT * FROM %s",tb_Name.c_str());
|
||||
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
wxMessageBox("-E-> BrowserDB::OnSelect - GetData()");
|
||||
return FALSE;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
while (db_BrowserDB->GetNext())
|
||||
{
|
||||
i_Records++;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
return FALSE;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
// SetColDefs ( 0,"NAME", DB_DATA_TYPE_VARCHAR, Name, SQL_C_CHAR, sizeof(Name), TRUE, TRUE); // Primary index
|
||||
//---------------------------------------------------------------------------------------
|
||||
if (!Quite)
|
||||
{
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnSelect(%s) Records(%d): End - Time needed : %ld ms"),tb_Name.c_str(),i_Records,sw.Time());
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnExecSql(wxString SQLStmt, int Quite)
|
||||
{
|
||||
//---------------------------------------------------------------------------------------
|
||||
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnExecSQL - ODBC-Error with ExecSql of >%s<.\n-E-> "),SQLStmt.c_str());
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
if (!Quite)
|
||||
wxLogMessage(Temp0);
|
||||
else
|
||||
wxMessageBox("-E-> BrowserDB::OnExecSql - ExecSql()");
|
||||
return FALSE;
|
||||
}
|
||||
if (!Quite)
|
||||
{
|
||||
// wxLogMessage(_("\n-I-> BrowserDB::OnExecSql(%s) - End - Time needed : %ld ms"),SQLStmt.c_str(),sw.Time());
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
wxDbInf* BrowserDB::OnGetCatalog(int Quite)
|
||||
{
|
||||
char UName[255];
|
||||
strcpy(UName,UserName);
|
||||
ct_BrowserDB = db_BrowserDB->GetCatalog(UName);
|
||||
return ct_BrowserDB;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
wxColInf* BrowserDB::OnGetColumns(char *tableName, int numCols,int Quite)
|
||||
{
|
||||
char UName[255];
|
||||
int i;
|
||||
strcpy(UName,UserName);
|
||||
cl_BrowserDB = db_BrowserDB->GetColumns(tableName,&numCols,UName);
|
||||
cl_BrowserDB->pColFor = new wxColFor[numCols];
|
||||
for (i=0;i<numCols;i++)
|
||||
{
|
||||
(cl_BrowserDB->pColFor+i)->Format(1,(cl_BrowserDB+i)->dbDataType,(cl_BrowserDB+i)->sqlDataType,
|
||||
(cl_BrowserDB+i)->columnSize, (cl_BrowserDB+i)->decimalDigits);
|
||||
}
|
||||
return cl_BrowserDB;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
void BrowserDB::Zeiger_auf_NULL(int Art)
|
||||
{
|
||||
if (Art == 1) // L<>schen
|
||||
{
|
||||
if (cl_BrowserDB != NULL)
|
||||
{ // Destroy the memory
|
||||
delete [] cl_BrowserDB;
|
||||
}
|
||||
if (ct_BrowserDB != NULL)
|
||||
{ // Destroy the memory
|
||||
delete [] ct_BrowserDB;
|
||||
}
|
||||
if (db_BrowserDB != NULL)
|
||||
{
|
||||
db_BrowserDB->CommitTrans();
|
||||
db_BrowserDB->Close();
|
||||
CloseDbConnections();
|
||||
delete db_BrowserDB;
|
||||
}
|
||||
}
|
||||
cl_BrowserDB = NULL;
|
||||
ct_BrowserDB = NULL;
|
||||
db_BrowserDB = NULL;
|
||||
p_LogWindow = NULL;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
void BrowserDB::OnFillSqlTyp()
|
||||
{
|
||||
i_SqlTyp[1] = SQL_C_BINARY; s_SqlTyp[1] = "SQL_C_BINARY";
|
||||
i_SqlTyp[2] = SQL_C_BIT; s_SqlTyp[2] = "SQL_C_BIT";
|
||||
i_SqlTyp[3] = SQL_C_BOOKMARK; s_SqlTyp[3] = "SQL_C_BOOKMARK";
|
||||
i_SqlTyp[4] = SQL_C_CHAR; s_SqlTyp[4] = "SQL_C_CHAR";
|
||||
i_SqlTyp[5] = SQL_C_DATE; s_SqlTyp[5] = "SQL_C_DATE";
|
||||
i_SqlTyp[6] = SQL_C_DEFAULT; s_SqlTyp[6] = "SQL_C_DEFAULT";
|
||||
i_SqlTyp[7] = SQL_C_DOUBLE; s_SqlTyp[7] = "SQL_C_DOUBLE";
|
||||
i_SqlTyp[8] = SQL_C_FLOAT; s_SqlTyp[8] = "SQL_C_FLOAT";
|
||||
i_SqlTyp[9] = SQL_C_LONG; s_SqlTyp[9] = "SQL_C_LONG";
|
||||
i_SqlTyp[10] = SQL_C_SHORT; s_SqlTyp[10] = "SQL_C_SHORT";
|
||||
i_SqlTyp[11] = SQL_C_SLONG; s_SqlTyp[11] = "SQL_C_SLONG";
|
||||
i_SqlTyp[12] = SQL_C_SSHORT; s_SqlTyp[12] = "SQL_C_SSHORT";
|
||||
i_SqlTyp[13] = SQL_C_STINYINT; s_SqlTyp[13] = "SQL_C_STINYINT";
|
||||
i_SqlTyp[14] = SQL_C_TIME; s_SqlTyp[14] = "SQL_C_TIME";
|
||||
i_SqlTyp[15] = SQL_C_TIMESTAMP; s_SqlTyp[15] = "SQL_C_TIMESTAMP";
|
||||
i_SqlTyp[16] = SQL_C_TINYINT; s_SqlTyp[16] = "SQL_C_TINYINT";
|
||||
i_SqlTyp[17] = SQL_C_ULONG; s_SqlTyp[17] = "SQL_C_ULONG";
|
||||
i_SqlTyp[18] = SQL_C_USHORT; s_SqlTyp[18] = "SQL_C_USHORT";
|
||||
i_SqlTyp[19] = SQL_C_UTINYINT; s_SqlTyp[19] = "SQL_C_UTINYINT";
|
||||
i_SqlTyp[20] = SQL_VARCHAR; s_SqlTyp[20] = "SQL_VARCHAR";
|
||||
i_SqlTyp[21] = SQL_NUMERIC; s_SqlTyp[21] = "SQL_NUMERIC";
|
||||
i_SqlTyp[22] = SQL_LONGVARCHAR; s_SqlTyp[22] = "SQL_LONGVARCHAR";
|
||||
i_SqlTyp[23] = SQL_REAL; s_SqlTyp[23] = "SQL_REAL";
|
||||
i_SqlTyp[0] = 23; s_SqlTyp[0] = "";
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
void BrowserDB::OnFilldbTyp()
|
||||
{
|
||||
i_dbTyp[1] = DB_DATA_TYPE_VARCHAR; s_dbTyp[1] = "DB_DATA_TYPE_VARCHAR";
|
||||
i_dbTyp[2] = DB_DATA_TYPE_INTEGER; s_dbTyp[2] = "DB_DATA_TYPE_INTEGER";
|
||||
i_dbTyp[3] = DB_DATA_TYPE_FLOAT; s_dbTyp[3] = "DB_DATA_TYPE_FLOAT";
|
||||
i_dbTyp[4] = DB_DATA_TYPE_DATE; s_dbTyp[4] = "DB_DATA_TYPE_DATE";
|
||||
i_dbTyp[0] = 4; s_dbTyp[0] = "";
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
@@ -1,77 +0,0 @@
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Name: browsedb.h
|
||||
// Purpose: a wxDB class
|
||||
// Author: Mark Johnson, mj10777@gmx.net
|
||||
// Modified by:
|
||||
// Created: 19991127.mj10777
|
||||
// Copyright: (c) Mark Johnson
|
||||
// Licence: wxWindows license
|
||||
// RCS-ID: $Id$
|
||||
//----------------------------------------------------------------------------------------
|
||||
//-- Zu tun in browsedb.h
|
||||
//----------------------------------------------------------------------------------------
|
||||
//-- 1)
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Global structure for holding ODBC connection information
|
||||
//----------------------------------------------------------------------------------------
|
||||
extern struct DbStuff DbConnectInf;
|
||||
class MainDoc;
|
||||
//----------------------------------------------------------------------------------------
|
||||
class BrowserDB
|
||||
{
|
||||
public:
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Pointer to the main database connection used in the program. This
|
||||
// pointer would normally be used for doing things as database lookups
|
||||
// for user login names and passwords, getting workstation settings, etc.
|
||||
// ---> IMPORTANT <---
|
||||
//
|
||||
// For each database object created which uses this wxDB pointer
|
||||
// connection to the database, when a CommitTrans() or RollBackTrans()
|
||||
// will commit or rollback EVERY object which uses this wxDB pointer.
|
||||
//
|
||||
// To allow each table object (those derived from wxTable) to be
|
||||
// individually committed or rolled back, you MUST use a different
|
||||
// instance of wxDB in the constructor of the table. Doing so creates
|
||||
// more overhead, and will use more database connections (some DBs have
|
||||
// connection limits...), so use connections sparringly.
|
||||
//
|
||||
// It is recommended that one "main" database connection be created for
|
||||
// the entire program to use for READ-ONLY database accesses, but for each
|
||||
// table object which will do a CommitTrans() or RollbackTrans() that a
|
||||
// new wxDB object be created and used for it.
|
||||
//---------------------------------------------------------------------------------------
|
||||
wxDB* db_BrowserDB;
|
||||
wxDbInf* ct_BrowserDB;
|
||||
wxColInf* cl_BrowserDB;
|
||||
wxString ODBCSource, UserName, Password;
|
||||
MainDoc *pDoc;
|
||||
//---------------------------------------------------------------------------------------
|
||||
wxString Temp0, Temp1, Temp2, Temp3, Temp4, Temp5;
|
||||
wxString ODBCText;
|
||||
wxTextCtrl* p_LogWindow;
|
||||
wxString s_SqlTyp[25];
|
||||
int i_SqlTyp[25];
|
||||
wxString s_dbTyp[5];
|
||||
int i_dbTyp[5];
|
||||
int i_Which;
|
||||
int i_Records;
|
||||
int i_Cols;
|
||||
//---------------------------------------------------------------------------------------
|
||||
BrowserDB();
|
||||
~BrowserDB();
|
||||
void Zeiger_auf_NULL(int Art);
|
||||
bool Initialize(int Quite);
|
||||
//---------------------------------------------------------------------------------------
|
||||
bool OnStartDB(int Quite);
|
||||
bool OnCloseDB(int Quite);
|
||||
bool OnSelect(wxString tb_Name,int Quite);
|
||||
bool OnExecSql(wxString SQLStmt,int Quite);
|
||||
bool OnGetNext(int Cols,int Quite);
|
||||
wxDbInf* OnGetCatalog(int Quite);
|
||||
wxColInf* OnGetColumns(char *tableName, int numCols,int Quite);
|
||||
void OnFillSqlTyp();
|
||||
void OnFilldbTyp();
|
||||
//---------------------------------------------------------------------------------------
|
||||
}; // BrowserDB class definition
|
||||
//----------------------------------------------------------------------------------------
|
@@ -1,313 +0,0 @@
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Name: dbbrowse.cpp
|
||||
// Purpose: Through ODBC - Databases Browsen
|
||||
// Author: Mark Johnson, mj10777@gmx.net
|
||||
// Modified by:
|
||||
// BJO : Bart A.M. JOURQUIN
|
||||
// Created: 19991127
|
||||
// Copyright: (c) Mark Johnson
|
||||
// Licence: wxWindows license
|
||||
// RCS-ID: $Id$
|
||||
//----------------------------------------------------------------------------------------
|
||||
//-- all #ifdefs that the whole Project needs. -------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation
|
||||
#pragma interface
|
||||
#endif
|
||||
//----------------------------------------------------------------------------------------
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifndef __WXMSW__
|
||||
#include "bitmaps/logo.xpm"
|
||||
#endif
|
||||
//----------------------------------------------------------------------------------------
|
||||
//-- all #includes that every .cpp needs --- 19990807.mj10777 ----------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
#include "std.h" // sorgsam Pflegen !
|
||||
// #include <iostream>
|
||||
//----------------------------------------------------------------------------------------
|
||||
//-- Some Global Vars for this file ------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
MainFrame *frame = NULL; // The one and only MainFrame
|
||||
//----------------------------------------------------------------------------------------
|
||||
BEGIN_EVENT_TABLE(MainFrame, wxFrame)
|
||||
EVT_MENU(QUIT, MainFrame::OnQuit) // Program End
|
||||
EVT_MENU(ABOUT, MainFrame::OnAbout) // Program Discription
|
||||
EVT_MENU(HELP, MainFrame::OnHelp) // Program Help
|
||||
END_EVENT_TABLE()
|
||||
//----------------------------------------------------------------------------------------
|
||||
IMPLEMENT_APP(MainApp) // This declares wxApp::MainApp as "the" Application
|
||||
//----------------------------------------------------------------------------------------
|
||||
// 'Main program' equivalent, creating windows and returning main app frame
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool MainApp::OnInit(void) // Does everything needed for a program start
|
||||
{
|
||||
wxString Temp0; // Use as needed
|
||||
//---------------------------------------------------------------------------------------
|
||||
// set the language to use // Help.?? (.std = english, .de = german etc.)
|
||||
const char *language = NULL; // czech, german, french, polish
|
||||
const char *langid = NULL; // std = english , cz, de = german, fr = french, pl = polish
|
||||
wxString s_LangHelp; // Directory/Filename.hhp of the Help-Project file
|
||||
wxString s_LangId, s_Language;
|
||||
s_Language.Empty(); s_LangId.Empty(); s_LangHelp.Empty();
|
||||
//---------------------------------------------------------------------------------------
|
||||
//-- Graphic File suport - use only when needed, otherwise big .exe's
|
||||
//---------------------------------------------------------------------------------------
|
||||
#if wxUSE_LIBPNG
|
||||
wxImage::AddHandler( new wxPNGHandler ); // needed for help System
|
||||
#endif
|
||||
/*
|
||||
#if wxUSE_LIBJPEG
|
||||
wxImage::AddHandler(new wxJPEGHandler ); // use only when needed, otherwise big .exe's
|
||||
#endif
|
||||
wxImage::AddHandler( new wxGIFHandler ); // use only when needed, otherwise big .exe's
|
||||
wxImage::AddHandler( new wxPCXHandler ); // use only when needed, otherwise big .exe's
|
||||
wxImage::AddHandler( new wxPNMHandler ); // use only when needed, otherwise big .exe's
|
||||
*/
|
||||
#ifdef __WXMSW__
|
||||
// wxBitmap::AddHandler( new wxXPMFileHandler ); // Attempt to use XPS instead of ico
|
||||
// wxBitmap::AddHandler( new wxXPMDataHandler ); // - Attempt failed
|
||||
#endif
|
||||
//---------------------------------------------------------------------------------------
|
||||
switch ( argc )
|
||||
{
|
||||
default:
|
||||
// ignore the other args, fall through
|
||||
case 3:
|
||||
language = argv[2]; // czech, english, french, german , polish
|
||||
langid = argv[1]; // cz, std, fr, de , pl
|
||||
break;
|
||||
case 2:
|
||||
langid = argv[1]; // cz, std, fr, de , pl
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
};
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Win-Registry : Workplace\HKEY_CURRENT_USERS\Software\%GetVendorName()\%GetAppName()
|
||||
//---------------------------------------------------------------------------------------
|
||||
SetVendorName("mj10777"); // Needed to get Configuration Information
|
||||
SetAppName("DBBrowse"); // "" , also needed for s_LangHelp
|
||||
//---------------------------------------------------------------------------------------
|
||||
// we're using wxConfig's "create-on-demand" feature: it will create the
|
||||
// config object when it's used for the first time. It has a number of
|
||||
// advantages compared with explicitly creating our wxConfig:
|
||||
// 1) we don't pay for it if we don't use it
|
||||
// 2) there is no danger to create it twice
|
||||
|
||||
// application and vendor name are used by wxConfig to construct the name
|
||||
// of the config file/registry key and must be set before the first call
|
||||
// to Get() if you want to override the default values (the application
|
||||
// name is the name of the executable and the vendor name is the same)
|
||||
//---------------------------------------------------------------------------------------
|
||||
p_ProgramCfg = wxConfigBase::Get(); // Get Program Configuration from Registry
|
||||
// p_ProgramCfg->DeleteAll(); // This is how the Config can be erased
|
||||
p_ProgramCfg->SetPath("/"); // Start at root
|
||||
//---------------------------------------------------------------------------------------
|
||||
//-- Set the Language and remember it for the next time. --------------------------------
|
||||
//---------------------------------------------------------------------------------------
|
||||
if (langid == NULL) // No Parameter was given
|
||||
{
|
||||
Temp0.Empty();
|
||||
p_ProgramCfg->Read("/Local/langid",&Temp0); // >const char *langid< can't be used here
|
||||
if (Temp0 == "")
|
||||
langid = "std"; // Standard language is "std" = english
|
||||
else
|
||||
langid = Temp0;
|
||||
}
|
||||
Temp0.Printf("%s",langid);
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Support the following languages (std = english)
|
||||
if ((Temp0 == "a") || (Temp0 == "cz") || (Temp0 == "de") ||
|
||||
(Temp0 == "fr") || (Temp0 == "pl"))
|
||||
{ // The three-letter language-string codes are only valid in Windows NT and Windows 95.
|
||||
if (Temp0 == "cz")
|
||||
language = "czech"; // csy or czech
|
||||
if ((Temp0 == "de") || (Temp0 == "a"))
|
||||
{
|
||||
language = "german"; // deu or german
|
||||
if (Temp0 == "a")
|
||||
{ langid = Temp0 = "de"; } // Austrian = german
|
||||
} // german / austrian
|
||||
if (Temp0 == "fr")
|
||||
language = "french"; // fra or french
|
||||
if (Temp0 == "pl")
|
||||
language = "polish"; // plk or polish
|
||||
if (!m_locale.Init(language, langid, language)) // Don't do this for english (std)
|
||||
{ // You should recieve errors here for cz and pl since there is no cz/ and pl/ directory
|
||||
wxLogMessage("-E-> %s : SetLocale error : langid(%s) ; language(%s)",GetAppName().c_str(),langid,language);
|
||||
langid = "std";
|
||||
language = "C"; // english, english-aus , -can , -nz , -uk , -usa
|
||||
}
|
||||
else
|
||||
{ // Read in Foreign language's text for GetAppName() and Help
|
||||
m_locale.AddCatalog(GetAppName().c_str());
|
||||
m_locale.AddCatalog("Help");
|
||||
}
|
||||
} // Support the following languages (std = english)
|
||||
else
|
||||
{
|
||||
langid = "std";
|
||||
language = "C"; // english, english-aus , -can , -nz , -uk , -usa
|
||||
}
|
||||
s_Language.Printf("%s",language); // language is a pointer
|
||||
s_LangId.Printf("%s",langid); // langid is a pointer
|
||||
p_ProgramCfg->Write("/Local/language",s_Language);
|
||||
p_ProgramCfg->Write("/Local/langid",s_LangId);
|
||||
s_LangHelp.Printf("help.%s/%s.hhp",s_LangId.c_str(),GetAppName().c_str()); // "help.std/Garantie.hhp";
|
||||
//---------------------------------------------------------------------------------------
|
||||
Temp0 = "NONE"; // I don't remember why I did this
|
||||
p_ProgramCfg->Write("/NONE",Temp0); // I don't remember why I did this
|
||||
p_ProgramCfg->Write("/Paths/NONE",Temp0); // I don't remember why I did this
|
||||
p_ProgramCfg->Write("/MainFrame/NONE",Temp0); // I don't remember why I did this
|
||||
//---------------------------------------------------------------------------------------
|
||||
p_ProgramCfg->Write("/Paths/Work",wxGetCwd()); // Get current Working Path
|
||||
p_ProgramCfg->SetPath("/");
|
||||
//---------------------------------------------------------------------------------------
|
||||
// restore frame position and size, if empty start Values (1,1) and (750,600)
|
||||
int x = p_ProgramCfg->Read("/MainFrame/x", 1), y = p_ProgramCfg->Read("/MainFrame/y", 1),
|
||||
w = p_ProgramCfg->Read("/MainFrame/w", 750), h = p_ProgramCfg->Read("/MainFrame/h", 600);
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Create the main frame window
|
||||
Temp0.Printf("%s - %s",GetAppName().c_str(),GetVendorName().c_str());
|
||||
frame = new MainFrame((wxFrame *) NULL,(char *) Temp0.c_str(),wxPoint(x,y),wxSize(w,h));
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Set the Backgroundcolour (only need if your are NOT using wxSYS_COLOUR_BACKGROUND)
|
||||
frame->SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_BACKGROUND));
|
||||
// frame->SetBackgroundColour(wxColour(255, 255, 255));
|
||||
// frame->SetBackgroundColour(* wxWHITE);
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Give it an icon
|
||||
//---------------------------------------------------------------------------------------
|
||||
// 12.02.2000 - Guillermo Rodriguez Garcia :
|
||||
//---------------------------------------------------------------------------------------
|
||||
// This is different for Win9x and WinNT; one of them takes the first ico
|
||||
// in the .rc file, while the other takes the icon with the lowest name,
|
||||
// so to be sure that it always work, put your icon the first *and* give
|
||||
// it a name such a 'appicon' or something.
|
||||
//---------------------------------------------------------------------------------------
|
||||
// mj10777 : any special rule in Linux ?
|
||||
//---------------------------------------------------------------------------------------
|
||||
frame->SetIcon(wxICON(aLogo)); // lowest name and first entry in RC File
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Make a menubar
|
||||
wxMenu *file_menu = new wxMenu;
|
||||
wxMenu *help_menu = new wxMenu;
|
||||
|
||||
help_menu->Append(HELP, _("&Help"));
|
||||
help_menu->AppendSeparator();
|
||||
help_menu->Append(ABOUT, _("&About"));
|
||||
file_menu->Append(QUIT, _("E&xit"));
|
||||
|
||||
wxMenuBar *menu_bar = new wxMenuBar;
|
||||
menu_bar->Append(file_menu, _("&File"));
|
||||
menu_bar->Append(help_menu, _("&Help"));
|
||||
frame->SetMenuBar(menu_bar);
|
||||
frame->CreateStatusBar(1);
|
||||
Temp0.Printf(_("%s has started !"),p_ProgramCfg->GetAppName().c_str());
|
||||
frame->SetStatusText(Temp0, 0);
|
||||
//---------------------------------------------------------------------------------------
|
||||
int width, height;
|
||||
frame->GetClientSize(&width, &height);
|
||||
//---------------------------------------------------------------------------------------
|
||||
frame->p_Splitter = new DocSplitterWindow(frame,-1);
|
||||
// p_Splitter->SetCursor(wxCursor(wxCURSOR_PENCIL));
|
||||
frame->pDoc = new MainDoc();
|
||||
frame->pDoc->p_MainFrame = frame;
|
||||
frame->pDoc->p_Splitter = frame->p_Splitter;
|
||||
frame->pDoc->p_Splitter->pDoc = frame->pDoc; // ControlBase: saving the Sash
|
||||
//---------------------------------------------------------------------------------------
|
||||
//-- Problem : GetClientSize(Width,Hight) are not the same as the values given in the ---
|
||||
//-- construction of the Frame. ---
|
||||
//-- Solved : GetClientSize is called here and the difference is noted. When the ---
|
||||
//-- Window is closed the diff. is added to the result of GetClientSize. ---
|
||||
//---------------------------------------------------------------------------------------
|
||||
frame->GetClientSize(&frame->DiffW, &frame->DiffH); frame->DiffW-=w; frame->DiffH-=h;
|
||||
//----------------------------------------------------------------------------
|
||||
//-- Help : Load the help.%langid/%GetAppName().hhp (help.std/dbbrowse.hhp) file ---
|
||||
//----------------------------------------------------------------------------
|
||||
frame->p_Help = new wxHtmlHelpController(); // construct the Help System
|
||||
frame->p_Help->UseConfig(p_ProgramCfg); // Don't rember what this was for
|
||||
// You should recieve errors here for fr since there is no help.fr/ directory
|
||||
if (!frame->p_Help->AddBook(s_LangHelp)) // Use the language set
|
||||
{ // You should recieve errors here for fr since there is no help.fr/ but a fr/ directory
|
||||
wxLogMessage("-E-> %s : AddBook error : s_LangHelp(%s)",GetAppName().c_str(),s_LangHelp.c_str());
|
||||
}
|
||||
frame->pDoc->p_Help = frame->p_Help; // Save the information to the document
|
||||
//---------------------------------------------------------------------------------------
|
||||
frame->Show(TRUE); // Show the frame
|
||||
SetTopWindow(frame); // At this point the frame can be seen
|
||||
//---------------------------------------------------------------------------------------
|
||||
// If you need a "Splash Screen" because of a long OnNewDocument, do it here
|
||||
if (!frame->pDoc->OnNewDocument())
|
||||
frame->Close(TRUE);
|
||||
// Kill a "Splash Screen" because OnNewDocument, if you have one
|
||||
//---------------------------------------------------------------------------------------
|
||||
p_ProgramCfg->Flush(TRUE); // save the configuration
|
||||
return TRUE;
|
||||
} // bool MainApp::OnInit(void)
|
||||
//----------------------------------------------------------------------------------------
|
||||
// My frame constructor
|
||||
//----------------------------------------------------------------------------------------
|
||||
MainFrame::MainFrame(wxFrame *frame, char *title, const wxPoint& pos, const wxSize& size):
|
||||
wxFrame(frame, -1, title, pos, size)
|
||||
{
|
||||
p_Splitter = NULL; pDoc = NULL; p_Help = NULL; // Keep the Pointers clean !
|
||||
//--- Everything else is done in MainApp::OnInit() --------------------------------------
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
MainFrame::~MainFrame(void)
|
||||
{
|
||||
// save the control's values to the config
|
||||
if (p_ProgramCfg == NULL)
|
||||
return;
|
||||
// save the frame position before it is destroyed
|
||||
int x, y, w, h;
|
||||
GetPosition(&x, &y);
|
||||
GetClientSize(&w, &h); w -= DiffW; h -= DiffH;
|
||||
p_ProgramCfg->Write("/MainFrame/x", (long) x);
|
||||
p_ProgramCfg->Write("/MainFrame/y", (long) y);
|
||||
p_ProgramCfg->Write("/MainFrame/w", (long) w);
|
||||
p_ProgramCfg->Write("/MainFrame/h", (long) h);
|
||||
p_ProgramCfg->Write("/MainFrame/Sash", (long) pDoc->Sash);
|
||||
// clean up: Set() returns the active config object as Get() does, but unlike
|
||||
// Get() it doesn't try to create one if there is none (definitely not what
|
||||
// we want here!)
|
||||
// delete wxConfigBase::Set((wxConfigBase *) NULL);
|
||||
p_ProgramCfg->Flush(TRUE); // saves Objekt
|
||||
if (pDoc) // If we have a Valid Document
|
||||
delete pDoc; // Cleanup (MainDoc::~MainDoc)
|
||||
} // MainFrame::~MainFrame(void)
|
||||
//----------------------------------------------------------------------------------------
|
||||
void MainFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// Close the help frame; this will cause the config data to get written.
|
||||
if (p_Help->GetFrame()) // returns NULL if no help frame active
|
||||
p_Help->GetFrame()->Close(TRUE);
|
||||
Close(TRUE);
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
void MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString Temp0, Temp1;
|
||||
Temp0.Printf(_("%s\nMark Johnson\nBerlin, Germany\nmj10777@gmx.net\n (c) 2000"),p_ProgramCfg->GetAppName().c_str());
|
||||
Temp1.Printf(_("About %s"),p_ProgramCfg->GetAppName().c_str());
|
||||
wxMessageDialog dialog(this, Temp0,Temp1,wxOK|wxCANCEL);
|
||||
dialog.ShowModal();
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
void MainFrame::OnHelp(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
p_Help->Display("Main page");
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|