From: curt Date: Fri, 29 Aug 2003 04:19:56 +0000 (+0000) Subject: Remove metakit from src-libs, remove metakit check from configure script, X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=699909f8087e9052393842cb714f748b1e1538e3;p=simgear.git Remove metakit from src-libs, remove metakit check from configure script, remove README.metakit. --- diff --git a/README.metakit b/README.metakit deleted file mode 100644 index fdc4315c..00000000 --- a/README.metakit +++ /dev/null @@ -1,285 +0,0 @@ -For your convenience (and with the author's permission) a copy of the -MetaKit source is bundled with SimGear in $(top_srcdir)/src-libs/. -You must have metakit installed before you can build SimGear. - -- Most linux distributions have a metakit package. For linux - developers, we recommend ysou install your distributions package - rather than building from source. - -- For developers on most other platforms, you will have to build - metakit from source and install it yourself. For your convenience a - tar ball of the metakit source is included with the simgear source - distribution. Untar the metakit source, and follow the included - build and installation instructions. - -Once metakit is installed you can return to configuring and building -Simgear. - -============================================================================= - -Potentially important build note: - - Later on when you are linking programs with -lmk4 (i.e. FlightGear or one - of it's associated programs) if you come across an error similar to the - following: - - c++ -Wall -O2 -L/usr/local/lib -o gensimple gensimple.o libAirports.a - -lsgdebug -lsgmisc -lmk4 -lz -lm - /usr/local/lib/libmk4.a(view.o)(.text+0x1c8):view.cpp: multiple definition - of `c4_View::~c4_View(void)' - libAirports.a(simple.o)(.text$_$_7c4_View+0x0):simple.cxx: first defined - here - collect2: ld returned 1 exit status - make[2]: *** [gensimple] Error 1 - make[2]: Leaving directory `/home/curt/FlightGear-0.7.7/src/Airports' - make[1]: *** [all-recursive] Error 1 - make[1]: Leaving directory `/home/curt/FlightGear-0.7.7/src' - make: *** [all-recursive] Error 1 - - Then you need to come back and rebuild Metakit with the -DNDEBUG flag. - For unix/cygwin systems, modify the unix/Makefile file and add -DNDEBUG - to the CFLAGS line. - -Now we return you to the official metakit readme ... :-) - - -The MetaKit Library 2.01 March 2000 -============================================================================== - - -WHAT IT IS - MetaKit is an embeddable database which runs on Unix, Windows, - Macintosh, and other platforms. It lets you build applications which - store their data efficiently, in a portable way, and which will not need a - complex runtime installation. In terms of the data model, MetaKit takes - the middle ground between RDBMS, OODBMS, and flat-file databases - yet it - is quite different from each of them. - -WHAT IT ISN'T - MetaKit is not: 1) multi-user/-threading, 2) scalable to - gigabytes, 3) proprietary software, 4) full of bugs, 5) just a toy. - -TECHNOLOGY - Everything is stored variable-sized yet with efficient positional - row access. Changing an existing datafile structure is as simple as re- - opening it with that new structure. All changes are transacted. You can - mix and match software written in C++, Python, and Tcl. Things can't get - much more flexible... - -CORE - The Metakit core library is written in C++. It has a code footprint of - just over 100 Kb on Windows. It can be used as DLL, or linked statically. - Debug builds include extensive assertion checks to catch problems early. - -PYTHON - The binding for Python is called "Mk4py". It uses SCXX by Gordon - McMillan as C++ glue interface. The source is in directory "python/". - -TCL/TK - The MK extension for Tcl is called "Mk4tcl". It is being used in a - number of commercial projects, for in-house use as well as in commercially - distributed products. The source is in directory "tcl/". - -LICENSE AND SUPPORT - MetaKit 2.01 is distributed as open source software (the - X/MIT-style license is at the end of this document). Commercial support - is available through an Enterprise License, see the URL mentioned below. - -DOCUMENTATION - All documentation uses HTML. The main page is "MetaKit.html", - which leads to the rest of the documentation in the "doc/" directory. - -WEBSITE URLS - The main pages on the world wide web, for news and downloads: - Homepage: http://www.equi4.com/metakit/ - Python news: http://www.equi4.com/metakit/python.html - Tcl/Tk news: http://www.equi4.com/metakit/tcl.html - License info: http://www.equi4.com/metakit/license.html - Contact info: http://www.equi4.com/contact.html - - -INSTALLATION -============ - -Starting with this release, all platform builds and language bindings are now -designed to work from a single common "builds/" directory. It turns out to -be impossible to keep build side-effects limited to *just* this directory -(CodeWarrior can't be told where to place its temp data, and Visual C++ still -alters a few files next to the project ".dsw" file, to name two offenders). - -UNIX - - It is no longer advised to build the Unix code in the "unix/" directory. - Instead, you should perform the following steps: - % cd builds - % ../unix/configure - % make - % make test - And optionally (this only installs the core lib, not script extensions): - % make install - - By switching to the "builds/" directory, you will keep the distribution - directory tree 100% unaltered. All changes are made in this subdir, and - all final build results are left behind in this same subdir. - - Nastiness: if you build Mk4tcl, please do a "make Mk4tcl.so" as well. - And if you intend to create the Python extension, do a "make Mk4py.so". - The "libmk4tcl.so.0.0.0" and "libMk4py.so.0.0.0" targets are bogus ones. - - You will probably have to make changes in the makefile to locate the - proper includes and libs for Python (Tcl has been fixed, see "--with-tcl). - You probably only need to adjust "CXX_SWITCHES_PY" to find the headers. - - To build with STL containers and strings, you can do the following: - make CXXFLAGS='-Dq4_STD' test # add -O3 etc, as needed - This passes the test suite on Linux RedHat 5.2 with gcc 2.95-2. - - See below for some platform-specific build notes. - -WINDOWS - - There is a "win/" directory which contains subdirectories for a number of - compiler systems. MetaKit has been built with many different compilers - in the past (Microsoft, Borland, Watcom, Symantec, Metrowerks, Optima), - but to preserve my sanity (there are 12 configurations for MSVC6 alone!), - I am limiting myself to MSVC6, MWCW5, Borland C++ Builder 4, and Cygwin. - - The MS Visual C++ 6.0 project is "win/msvc60/mksrc.dsw", with subprojects - for the C++ demo (mkdemo), building dll's (mkdll), static libs (mklib), - regression tests (mktest), as well as Tcl (mktcl) and Python (mkpython). - It has been set up to place all intermediate files and final results in - the "builds/" subdirectory, even though you'll launch it from "win/". - - To build with STL containers and strings under MSVC, define "q4_STD". - To build with MFC containers and strings under MSVC, define "q4_MFC". - - The Metrowerks Codewarrior project is in the "mac/" directory, and can be - used to build both Mac and Windows versions (on either Mac *or* Windows). - The core libraries are built with "mac/cw5.mcp", demos / tests are built - with "cw5apps.mcp", Tcl is "cw5tcl.mcp", and Python is "cw5python.mcp". - - The Borland C++ Builder projects have not yet been incorporated in this - release, but the "KitViewer" application is an example of how to use BCB. - - The Cygwin build (B20.1 / gcc 2.95.2) is different, because it uses the - unix autoconf system, and must be launched as described above for UNIX. - I have upgraded to the latest development of libtool to be able to build - DLL's with Cygwin. You can build the "-mno-cygwin" version by editing - the Makefile by hand and adding that option to CXXFLAGS. - - Rob Bloodgood adds that the following GCC options are for maximum code - efficiency on x86 hardware: "-O2 -m486 -malign-loops=2 -malign-jumps=2". - I have not yet tried this myself, but am passing on the tip. - -MACINTOSH - - The Mac version requires Metrowerks CodeWarrior 5. See the info above - in the Windows section (MWCW is multi-platform). The projects are all - located in the "mac/" folder, which is also where MWCW will place its own - "... Data" folders with intermediate results. As with all other setups, - final results are made to end up in the "builds/" directory. - - Static 68K builds appear to work fine, the 68K CFM variants will need - some more work (I couldn't get the libraries to export their symbols). - - -PLATFORM-SPECIFIC NOTES -======================= - -* Linux RH 5.2 / gcc 2.95.2 - - Builds with gcc 2.95.2 work out of the box. The Tcl extension ends up as - ".libs/libmk4tcl.so.0.0.0" (to please libtool), and should be renamed to - "Mk4tcl.so". Similarly, ".libs/libMk4py.so.0.0.0" is in fact the Python - extension, and *must* be renamed to "Mk4py.so" to call it from Python. - - The core MK libs end up as ".libs/libmk4.a" and ".libs/libmk4.so.0.0.0". - -* Solaris 2.6 / gcc 2.8.1 - - The Solaris builds are nasty for several reasons: - - - I do not own such a machine, and often have to make arrangements - (or fight limited space on one of the machines I can telnet to). - - The gcc 2.8.1 optimizer appears to be buggy, I have had to turn off - the default "-O3" flag to prevent compiler crashes (several files). - This problems appears to be resolved with gcc 2.95. - - Locking on Solaris (especially w.r.t NFS) remains a mystery to me. - The Tcl and Python extensions both use locking (the core not yet). - See tcl/Mk4tcl.cpp around line 520, and python/PyStorage.cpp around - line 80 for details. It's all pretty messy, and not 100% correct. - - Despite this, I'm doing my best to resolve these issues. Having a solid - build of the core *and* of Tcl / Python extensions is quite important. - -* Other Unix systems - - No further notes, though many systems will build fine out of the box. - -* Windows - - MSVC 6 builds MK as static lib and as DLL (universal config, I have not - yet created build versions with MFC or STL, mainly because MK can now be - used in all contexts regardless of how it was built). The Python and Tcl - extensions build as dynamic extensions (a static build is easy to add). - - MWCW 5 builds MK as static lib and as DLL (interestingly enough, the DLL - is slightly smaller than MSVC 6 - 102 vs 108 Kb - when their runtimes are - linked in dynamically as well). I have not added Win builds for Tcl or - Python, since MSVC 6 has those already. - - Cygwin B20.1, with gcc 2.95.2 ugrade, also builds MK as static lib and as - DLL. Both "pure" Cygwin (i.e. requiring cygwin1.dll) and mingw32 (using - the -mno-cygwin flag) build, but there are some hairy include issues when - it comes to choosing the right locking model for Tcl and Python. These - issues have not been resolved fully. - -* Macintosh - - MWCW 5 builds PPC shared libs, PPC static libs, and 68K static libraries. - - Building 68K CFM libraries leads to a "MetaKit 68K.shlb" which comes out - of the linker without errors, but the result does not seem to have any - export symbols defined (despite the fact that the library is over 200 K). - Because of that, I've been unable to build apps or Mk4tcl/Mk4py so far. - - The other three configurations build, but for some reason MK's regression - test stops at L03 (everything up to that point looks ok, i.e. over 90%). - - The Mk4tcl PPC extension appears to work (quick manual test), and so does - the Python extension, "Mk4py.PPC.slb". I have not yet given these two - a serious workout, hoping to have a basic test harness in place soon. - -* VMS, BeOS, ... - - No news yet, please report your findings with any other platform builds. - - -WHAT'S MISSING HERE -=================== - - - a section on basic concepts (or maybe it doesn't belong here?) - - a section on getting started (C++, Python, Tcl all differ - point to - the respective intro pages) - - maybe a small sample for each of C++ / Tcl / Python, to give an idea - - mention TclKit, scripted docs (WiKit/Tequila?), VFS? - - I forgot... please tell me :) - - -LICENSE AND COPYRIGHT STATEMENT -=============================== - -Copyright (c) 1996-2000 Jean-Claude Wippler - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - - -============================================================================== --- Jean-Claude Wippler diff --git a/configure.ac b/configure.ac index ba93665e..d3f68ffd 100644 --- a/configure.ac +++ b/configure.ac @@ -296,54 +296,6 @@ int main() { AC_MSG_RESULT(yes) ) -dnl Check for MetaKit -AC_CHECK_HEADER(mk4.h) -if test "x$ac_cv_header_mk4_h" != "xyes"; then - echo - echo "MetaKit library not found." - echo - echo "If your OS does not provide an installable package for MetaKit" - echo "you will have to compile and install it first yourself. A copy" - echo "of metakit-$(VERSION).tar.gz is included with SimGear. You will" - echo "have to untar this source code, and follow its included instructions" - echo "to compile and install on your system." - echo - echo "configure aborted." - exit -fi - -AC_MSG_CHECKING([for metakit 2.4.3 or newer]) -saved_LIBS="$LIBS" -LIBS="$saved_LIBS -lmk4" -AC_TRY_RUN([ -#include - -#define MIN_MK4_VERSION 243 - -int main() { - int major, minor, micro; - - if ( d4_MetaKitLibraryVersion < MIN_MK4_VERSION ) { - return -1; - } - - return 0; -} - -], - AC_MSG_RESULT(yes), - [AC_MSG_RESULT(wrong version); - AC_MSG_ERROR([ - -Install metakit 2.4.3 or later first. - -Or, the compiler may not be finding your libmk4.so library. -Please check the config.log file for specific details of the -failure if you believe you have the correct metakit version. -Also, look up this issue in the FlightGear FAQ.])], - AC_MSG_RESULT(yes) -) - LIBS="$saved_LIBS" AC_LANG_POP diff --git a/src-libs/metakit-2.4.9.2.tar.gz b/src-libs/metakit-2.4.9.2.tar.gz deleted file mode 100644 index 413e7c9d..00000000 Binary files a/src-libs/metakit-2.4.9.2.tar.gz and /dev/null differ