pax_global_header 0000666 0000000 0000000 00000000064 11770571553 0014525 g ustar 00root root 0000000 0000000 52 comment=04521cbfbdc5eb65781da7d79c20bc1a87409bfc
flamerobin_0.9.3~svn+2220.orig/ 0000775 0000000 0000000 00000000000 11770571553 0016203 5 ustar 00root root 0000000 0000000 flamerobin_0.9.3~svn+2220.orig/BUILD.txt 0000664 0000000 0000000 00000025130 11770571553 0017604 0 ustar 00root root 0000000 0000000 FlameRobin Build Instructions
-----------------------------
Below are build instructions for FlameRobin on all supported build environments.
Instructions assume that you have already compiled wxWidgets.
There are some tips regarding that at the end of this file.
To build FR a recent installation of the Boost libraries is also necessary,
at the time of writing version 1.44 is the current one, but 1.43 should
work just as well. FR uses the header-only libraries, so building the Boost
libraries for the used compiler isn't necessary, adding the directories to
the list of includes will be enough.
--------------------------
-- Common to all builds --
--------------------------
FR must be built with the same settings for debug/release, Ansi/Unicode etc.
as the wxWidgets library. Failing to do so will usually lead to compile or
link errors. This does not apply completely to Linux/GCC build, as you can
build wx in release mode and FlameRobin in debug mode - in case you just want
to debug FR code, and not code of wxWidgets.
Before building on Windows, you MUST set a WXDIR environment variable which
points to your wxWidgets root directory (unless you use MinGW and configure
script to build a Makefile). To do this, go to:
Start->Control Panel->System and select the "Advanced" tab. Then, click the
"Environment Variables" button and add WXDIR to the user or system env vars.
If you are using Windows98, you can set the variable from the command line,
using the "set" command.
For Windows you must also set a BOOST_ROOT environment variable which points
to the Boost root directory, see the previous section for how to do this. For
other systems the configure script needs to be amended to search for
installed Boost libraries and add the necessary directories to the compiler
invocation, but unfortunately this hasn't been done yet.
For Debian and Ubuntu at least installing Boost should make the headers
available without any more work. But if you have problems building FR on
platforms other than Windows, please post to the development list.
-----------------------------------------
-- MSW - Visual C++ Build Instructions --
-----------------------------------------
There are two ways to build using Microsoft Visual C++. One is via the dsp/dsw
project files, and the other is via the makefile.vc command line makefile.
* Using the dsp/dsw projects *
Since custom build steps are not set up for the Visual Studio build the
update-svn-rev.cmd script is not automatically run during the build, so the
src/frsvnrev.h file may be missing or outdated. Please run the
update-svn-rev.cmd manually after a checkout of the sources and each svn
update.
Double click on flamerobin\flamerobin.dsw, select a build configuration by
going to the Build menu, selecting "Set build configuration" and then
picking a config, then build!
* Using the makefiles *
To use the makefiles, start up a command line and navigate to the
flamerobin directory. There, run the following command:
nmake -f makefile.vc
Build options can be any of the following:
WXDIR= - tells the makefile where to find the root wxWidgets directory
FINAL=<0,1> - tells whether to build debug (0) or release (1) build
USEDLL=<0,1> - tells whether to link against wx static or dynamic libs
UNICODE=<0,1> - tells whether to link against wx ansi or unicode build
WXDIR *must* be specified (or set as an environment variable), but the rest
default to 0 and are optional.
------------------------------------------------------
-- MSW - Visual C++ 2005 Express Build Instructions --
------------------------------------------------------
Microsoft Visual C++ Express is a freeware version of MS Visual Studio.
There are two ways to build FlameRobin. One is via the dsp/dsw
project files, and the other is via the makefile.vc command line makefile.
* Using the dsp/dsw/sln projects *
Double click on flamerobin\flamerobin_flamerobin.sln, select a build
configuration by going to the Build menu, selecting "Set build configuration"
and then picking a config, then build!
* Using the makefiles *
To use the makefiles, start up a command line and navigate to the
flamerobin directory. There, run the following command:
nmake -f makefile.vc
Build options can be any of the following:
WXDIR= - tells the makefile where to find the root wxWidgets directory
FINAL=<0,1> - tells whether to build debug (0) or release (1) build
USEDLL=<0,1> - tells whether to link against wx static or dynamic libs
UNICODE=<0,1> - tells whether to link against wx ansi or unicode build
WXDIR *must* be specified (or set as an environment variable), but the rest
default to 0 and are optional.
-----------------------------------------------------------
-- MSW - Building wxWidgets with Visual C++ 2005 Express --
-----------------------------------------------------------
Unpack the archive somewhere, for example c:\wxWin286:
* Using the dsp/dsw/sln projects *
Double click on build\msw\wx.dsw, convert to new format, select a build
configuration by going to the Build menu, selecting "Set build configuration"
and then picking a config, then build!
Double click on contrib\build\stc\stc.dsw, convert to new format, select a
build configuration by going to the Build menu, selecting "Set build
configuration" and then picking a config, then build!
* Using the makefiles *
Open MS-DOS prompt and go into "build\msw" directory:
set WXWIN=c:\wxWin286
set WXDIR=c:\wxWin286
nmake -f makefile.vc BUILD=release RUNTIME_LIBS=static
cd ..\..
cd contrib\build\stc
nmake -f makefile.vc BUILD=release RUNTIME_LIBS=static
As you can see, it is important to build STC package too. It is for
wxStyledTextControl which is used in many places in FlameRobin.
If you wish to build an executable that is small in size (just like the
official one), you need to build wx from the command line using modified
makefile.vc. Just edit the makefile.vc and change the __OPTIMIZEFLAG setting
from /O2 to /O1.
-------------------------------------------------
-- MSW - Borland's Free C++ Build Instructions --
-------------------------------------------------
Borland's Free C++ Compiler (in short BCC) is a freeware version of
Borland's C++ compiler used in C++ Builder product:
http://www.borland.com/bcppbuilder/freecompiler/
I have used version 5.5.1.
Borland's command line linker (ilink32) has bugs that sometime make is crash
when linking FlameRobin executable. We haven't been able to determine the
cause of this. Since version 0.4.0, build was brome, then after 0.4.5 it
started to work until 0.7.0. Since 0.7.2 it works again. This build is NOT
OFFICIALLY SUPPORTED by our team, although it may work for you. In case you
want to give it a shot, here's how:
Assuming that you have wxWidgets installed in c:\wxwin286, you should open
MS-DOS prompt, cd to flamerobin root directory, and execute:
set WXDIR=c:\wxwin286
make -f makefile.bcc STATICRTL=1 FINAL=1
for release build, or
set WXDIR=c:\wxwin286
make -f makefile.bcc STATICRTL=1 FINAL=0
for debug build. Explanantion:
WXDIR= - tells the makefile where to find the root wx directory
FINAL=<0,1> - tells to build debug(0) or release(1) build
STATICRTL=<0,1> - tells to link against wx static(1) or dynamic(0) libs
----------------------------------------
-- Unix - Autoconf Build Instructions --
----------------------------------------
To build on Unix or MinGW, simply open a command line, cd into the flamerobin
root directory, and execute the following commands:
mkdir debug
cd debug
../configure --with-wx-config=/my/path/to/wx-config --enable-debug
for a build in debug configuration, and the following commands
mkdir release
cd release
../configure --with-wx-config=/my/path/to/wx-config --disable-debug
for a build in release configuration.
You only need to specify wx-config if you do not have a wx-config that can
be found on the PATH, or if you want to use a wx-config other than the
default one.
Running the command
make
should build the flamerobin executable. If you experience any problems,
please check the flamerobin developer mailing list archive, or ask a
question there.
--------------------------------------------
-- Mac OS X - Autoconf Build Instructions --
--------------------------------------------
To build FlameRobin on Mac OS X 10.5 for compatibility with 10.4, open
a command line, cd into the flamerobin root directory, and execute the
following commands:
mkdir ppcu
cd ppcu
../configure --disable-debug --disable-dependency-tracking \
CFLAGS="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc" \
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc \
-Wl,-macosx_version_min -Wl,10.4" \
CXXFLAGS="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc" \
--with-wx-config=/my/path/to/wx-config_for_ppc_unicode
make
cd ..
mkdir i386u
cd i386u
../configure --disable-debug --disable-dependency-tracking \
CFLAGS="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386" \
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386 \
-Wl,-macosx_version_min -Wl,10.4" \
CXXFLAGS="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386" \
--with-wx-config=/my/path/to/wx-config_for_i386_unicode
make
The resulting bundles differ only in the flamerobin executable, the lipo
tool can be used to make a Universal Build out of them.
---------------------------------------------------------------
-- MSW - Building wxWidgets with Borland's Free C++ Compiler --
---------------------------------------------------------------
Unpack the archive somewhere, for example c:\wxWin286, open MS-DOS prompt
and go into "build\msw" directory:
set WXWIN=c:\wxWin286
set WXDIR=c:\wxWin286
make -f makefile.bcc BUILD=release RUNTIME_LIBS=static
cd ..\..
cd contrib\build\stc
make -f makefile.bcc BUILD=release RUNTIME_LIBS=static
As you can see, it is important to build STC package too. It is for
wxStyledTextControl which is used in many places in FlameRobin.
----------------------------------------------
-- Unix - Building wxWidgets with configure --
----------------------------------------------
Unpack the sources, enter "build" directory and run "./configure". There
are many options you may like to set, run "./configure --help" to find about
them. We assume Gtk2 static release build with Unicode support:
./configure --disable-shared --disable-debug --enable-unicode --prefix=/opt/wxwidgets
make
make install
Now, you have to compile STC library. It is needed for wxStyledTextControl which
is used in many places in FlameRobin. Enter "contrib/src/stc" directory:
make
make install
Depending on your --prefix setting, you might need to run 'make install' as
superuser (root).
flamerobin_0.9.3~svn+2220.orig/Bakefiles.bkgen 0000664 0000000 0000000 00000002134 11770571553 0021100 0 ustar 00root root 0000000 0000000
dmars,dmars_smake,cbx_unix,cbuilderx,msevc4prj
flamerobin.bkl
autoconf,borland,mingw,msvc,msvc6prj,msvs2008prj
-Iformats
-o./Makefile.in
-o./makefile.bcc
-o./makefile.mgw
-o./makefile.vc
-o./flamerobin.dsw
flamerobin_0.9.3~svn+2220.orig/Makefile.in 0000664 0000000 0000000 00000104644 11770571553 0020261 0 ustar 00root root 0000000 0000000 # =========================================================================
# This makefile was generated by
# Bakefile 0.2.9 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
@MAKE_SET@
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
INSTALL = @INSTALL@
LIBEXT = @LIBEXT@
LIBPREFIX = @LIBPREFIX@
EXEEXT = @EXEEXT@
WINDRES = @WINDRES@
SETFILE = @SETFILE@
NM = @NM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_DIR = @INSTALL_DIR@
ICC_PCH_USE_SWITCH = @ICC_PCH_USE_SWITCH@
BK_DEPS = @BK_DEPS@
BK_MAKE_PCH = @BK_MAKE_PCH@
srcdir = @srcdir@
bindir = @bindir@
datadir = @datadir@
LIBS = @LIBS@
LDFLAGS_GUI = @LDFLAGS_GUI@
AR = @AR@
AROPTIONS = @AROPTIONS@
RANLIB = @RANLIB@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
### Variables: ###
DESTDIR =
FLAMEROBIN_CXXFLAGS = $(__flamerobin_PCH_INC) -DHAVE_FRCONFIG_H \
$(____flamerobin_WXDEBUG_p) $(____flamerobin_DEBUGFLAG_p) \
$(__IBPPPLATFORMDEFINE_p) -I. -I$(srcdir)/src -I$(srcdir)/src/ibpp \
-I$(srcdir)/res $(CPPFLAGS) $(CXXFLAGS)
FLAMEROBIN_OBJECTS = \
flamerobin_addconstrainthandler.o \
flamerobin_Config.o \
flamerobin_DatabaseConfig.o \
flamerobin_ArtProvider.o \
flamerobin_CodeTemplateProcessor.o \
flamerobin_FRError.o \
flamerobin_Observer.o \
flamerobin_ProgressIndicator.o \
flamerobin_StringUtils.o \
flamerobin_Subject.o \
flamerobin_TemplateProcessor.o \
flamerobin_URIProcessor.o \
flamerobin_Visitor.o \
flamerobin_databasehandler.o \
flamerobin_MetadataLoader.o \
flamerobin_frprec.o \
flamerobin_frutils.o \
flamerobin_AboutBox.o \
flamerobin_AdvancedMessageDialog.o \
flamerobin_AdvancedSearchFrame.o \
flamerobin_BackupFrame.o \
flamerobin_BackupRestoreBaseFrame.o \
flamerobin_BaseDialog.o \
flamerobin_BaseFrame.o \
flamerobin_CommandManager.o \
flamerobin_ConfdefTemplateProcessor.o \
flamerobin_ContextMenuMetadataItemVisitor.o \
flamerobin_ControlUtils.o \
flamerobin_DataGrid.o \
flamerobin_DataGridRowBuffer.o \
flamerobin_DataGridRows.o \
flamerobin_DataGridTable.o \
flamerobin_DBHTreeControl.o \
flamerobin_DndTextControls.o \
flamerobin_LogTextControl.o \
flamerobin_PrintableHtmlWindow.o \
flamerobin_TextControl.o \
flamerobin_CreateIndexDialog.o \
flamerobin_DataGeneratorFrame.o \
flamerobin_DatabaseRegistrationDialog.o \
flamerobin_EditBlobDialog.o \
flamerobin_EventWatcherFrame.o \
flamerobin_ExecuteSqlFrame.o \
flamerobin_ExecuteSql.o \
flamerobin_FieldPropertiesDialog.o \
flamerobin_FindDialog.o \
flamerobin_FRLayoutConfig.o \
flamerobin_GUIURIHandlerHelper.o \
flamerobin_HtmlHeaderMetadataItemVisitor.o \
flamerobin_HtmlTemplateProcessor.o \
flamerobin_InsertDialog.o \
flamerobin_MainFrame.o \
flamerobin_MetadataItemPropertiesFrame.o \
flamerobin_MultilineEnterDialog.o \
flamerobin_PreferencesDialog.o \
flamerobin_PreferencesDialogSettings.o \
flamerobin_PrivilegesDialog.o \
flamerobin_ProgressDialog.o \
flamerobin_ReorderFieldsDialog.o \
flamerobin_RestoreFrame.o \
flamerobin_ServerRegistrationDialog.o \
flamerobin_SimpleHtmlFrame.o \
flamerobin_StatementHistoryDialog.o \
flamerobin_StyleGuide.o \
flamerobin_UserDialog.o \
flamerobin_UsernamePasswordDialog.o \
flamerobin_logger.o \
flamerobin_main.o \
flamerobin_MasterPassword.o \
flamerobin_column.o \
flamerobin_constraints.o \
flamerobin_CreateDDLVisitor.o \
flamerobin_database.o \
flamerobin_domain.o \
flamerobin_exception.o \
flamerobin_function.o \
flamerobin_generator.o \
flamerobin_Index.o \
flamerobin_metadataitem.o \
flamerobin_MetadataItemCreateStatementVisitor.o \
flamerobin_MetadataItemDescriptionVisitor.o \
flamerobin_MetadataItemURIHandlerHelper.o \
flamerobin_MetadataItemVisitor.o \
flamerobin_MetadataTemplateCmdHandler.o \
flamerobin_MetadataTemplateManager.o \
flamerobin_parameter.o \
flamerobin_privilege.o \
flamerobin_procedure.o \
flamerobin_relation.o \
flamerobin_role.o \
flamerobin_root.o \
flamerobin_server.o \
flamerobin_table.o \
flamerobin_trigger.o \
flamerobin_User.o \
flamerobin_view.o \
flamerobin_objectdescriptionhandler.o \
flamerobin_Identifier.o \
flamerobin_IncompleteStatement.o \
flamerobin_MultiStatement.o \
flamerobin_SelectStatement.o \
flamerobin_SqlStatement.o \
flamerobin_SqlTokenizer.o \
flamerobin_StatementBuilder.o \
flamerobin_statementHistory.o \
$(__FR_PLATFORMSPECIFICSOURCES_OBJECTS) \
$(__flamerobin___win32rc)
FLAMEROBIN_ODEP = $(_____pch_flamerobin_wx_wxprec_h_gch___depname)
IBPP_CXXFLAGS = $(__ibpp_PCH_INC) $(__IBPPPLATFORMDEFINE_p) \
-I$(srcdir)/src/ibpp $(CPPFLAGS) $(CXXFLAGS)
IBPP_OBJECTS = \
ibpp__dpb.o \
ibpp__ibpp.o \
ibpp__ibs.o \
ibpp__rb.o \
ibpp__spb.o \
ibpp__tpb.o \
ibpp_array.o \
ibpp_blob.o \
ibpp_database.o \
ibpp_date.o \
ibpp_dbkey.o \
ibpp_events.o \
ibpp_exception.o \
ibpp_row.o \
ibpp_service.o \
ibpp_statement.o \
ibpp_time.o \
ibpp_transaction.o \
ibpp_user.o
IBPP_ODEP = $(_____pch_ibpp__ibpp_h_gch___depname)
### Conditionally set variables: ###
@COND_DEPS_TRACKING_0@CXXC = $(CXX)
@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
@COND_PLATFORM_MAC_0@__flamerobin___mac_setfilecmd = @true
@COND_PLATFORM_MAC_1@__flamerobin___mac_setfilecmd = \
@COND_PLATFORM_MAC_1@ $(SETFILE) -t APPL flamerobin$(EXEEXT)
@COND_FINAL_0@____flamerobin_WXDEBUG_p = -D__WXDEBUG__
@COND_FINAL_0@____flamerobin_WXDEBUG_p_2 = --define __WXDEBUG__
@COND_FINAL_0@____flamerobin_DEBUGFLAG_p = -D_DEBUG
@COND_FINAL_0@____flamerobin_DEBUGFLAG_p_2 = --define _DEBUG
COND_PLATFORM_OS2_1___flamerobin___os2_emxbindcmd = $(NM) flamerobin$(EXEEXT) \
| if grep -q pmwin.763 ; then emxbind -ep flamerobin$(EXEEXT) ; fi
@COND_PLATFORM_OS2_1@__flamerobin___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___flamerobin___os2_emxbindcmd)
@COND_PLATFORM_MACOSX_1@__FR_PLATFORMSPECIFICSOURCES_OBJECTS \
@COND_PLATFORM_MACOSX_1@ = flamerobin_StyleGuideMAC.o
@COND_PLATFORM_UNIX_1@__FR_PLATFORMSPECIFICSOURCES_OBJECTS \
@COND_PLATFORM_UNIX_1@ = flamerobin_StyleGuideGTK.o
@COND_PLATFORM_WIN32_1@__FR_PLATFORMSPECIFICSOURCES_OBJECTS \
@COND_PLATFORM_WIN32_1@ = flamerobin_StyleGuideMSW.o
@COND_GCC_PCH_1@__flamerobin_PCH_INC = -I./.pch/flamerobin
@COND_ICC_PCH_1@__flamerobin_PCH_INC = $(ICC_PCH_USE_SWITCH) \
@COND_ICC_PCH_1@ ./.pch/flamerobin/wx/wxprec.h.gch
@COND_USE_PCH_1@_____pch_flamerobin_wx_wxprec_h_gch___depname \
@COND_USE_PCH_1@ = ./.pch/flamerobin/wx/wxprec.h.gch
@COND_PLATFORM_MACOSX_1@__IBPPPLATFORMDEFINE_p_2 = --define IBPP_DARWIN
@COND_PLATFORM_UNIX_1@__IBPPPLATFORMDEFINE_p_2 = --define IBPP_LINUX
@COND_PLATFORM_WIN32_1@__IBPPPLATFORMDEFINE_p_2 = --define IBPP_WINDOWS
@COND_PLATFORM_WIN32_1@__flamerobin___win32rc = flamerobin_flamerobin_rc.o
@COND_PLATFORM_MACOSX_1@__flamerobin_bundle___depname = flamerobin_bundle
@COND_PLATFORM_MACOSX_1@____flamerobin_BUNDLE_TGT_REF_DEP \
@COND_PLATFORM_MACOSX_1@ = FlameRobin.app/Contents/PkgInfo
@COND_GCC_PCH_1@__ibpp_PCH_INC = -I./.pch/ibpp
@COND_ICC_PCH_1@__ibpp_PCH_INC = $(ICC_PCH_USE_SWITCH) \
@COND_ICC_PCH_1@ ./.pch/ibpp/_ibpp.h.gch
@COND_USE_PCH_1@_____pch_ibpp__ibpp_h_gch___depname = \
@COND_USE_PCH_1@ ./.pch/ibpp/_ibpp.h.gch
@COND_PLATFORM_MACOSX_1@__IBPPPLATFORMDEFINE_p = -DIBPP_DARWIN
@COND_PLATFORM_UNIX_1@__IBPPPLATFORMDEFINE_p = -DIBPP_LINUX
@COND_PLATFORM_WIN32_1@__IBPPPLATFORMDEFINE_p = -DIBPP_WINDOWS
### Targets: ###
all: svn-rev flamerobin$(EXEEXT) $(__flamerobin_bundle___depname) $(LIBPREFIX)ibpp$(LIBEXT)
install:
$(INSTALL_DIR) $(DESTDIR)$(bindir)
(cd . ; $(INSTALL_PROGRAM) flamerobin$(EXEEXT) $(DESTDIR)$(bindir))
$(INSTALL_DIR) $(DESTDIR)$(datadir)/flamerobin/code-templates
(cd $(srcdir)/code-templates ; $(INSTALL_DATA) create_trigger.confdef create_trigger.info create_trigger.template create_change_trigger.confdef create_change_trigger.info create_change_trigger.template create_selectable_execute_block.confdef create_selectable_execute_block.info create_selectable_execute_block.template create_selectable_procedure.confdef create_selectable_procedure.info create_selectable_procedure.template delete.confdef delete.info delete.template extract_full_ddl.info extract_full_ddl.template insert.confdef insert.info insert.template select.confdef select.info select.template template_info.confdef update.confdef update.info update.template $(DESTDIR)$(datadir)/flamerobin/code-templates)
$(INSTALL_DIR) $(DESTDIR)$(datadir)/flamerobin/conf-defs
(cd $(srcdir)/conf-defs ; $(INSTALL_DATA) fr_settings.confdef db_settings.confdef $(DESTDIR)$(datadir)/flamerobin/conf-defs)
$(INSTALL_DIR) $(DESTDIR)$(datadir)/flamerobin/docs
(cd $(srcdir)/docs ; $(INSTALL_DATA) fr_license.html fr_manual.html fr_whatsnew.html html.css $(DESTDIR)$(datadir)/flamerobin/docs)
$(INSTALL_DIR) $(DESTDIR)@mandir@/man1
(cd $(srcdir)/docs ; $(INSTALL_DATA) flamerobin.1 $(DESTDIR)@mandir@/man1)
$(INSTALL_DIR) $(DESTDIR)$(datadir)/flamerobin/html-templates
(cd $(srcdir)/html-templates ; $(INSTALL_DATA) ALLloading.html DATABASE.html DATABASEtriggers.html DDL.html DOMAIN.html EXCEPTION.html FUNCTION.html GENERATOR.html PROCEDURE.html PROCEDUREprivileges.html ROLE.html ROLEprivileges.html SERVER.html TABLE.html TABLEconstraints.html TABLEtriggers.html TABLEindices.html TABLEprivileges.html TRIGGER.html VIEW.html VIEWprivileges.html VIEWtriggers.html dependencies.html header.html compute.png drop.png ok.png ok2.png redx.png view.png $(DESTDIR)$(datadir)/flamerobin/html-templates)
$(INSTALL_DIR) $(DESTDIR)$(datadir)/applications
(cd $(srcdir)/res ; $(INSTALL_DATA) flamerobin.desktop $(DESTDIR)$(datadir)/applications)
$(INSTALL_DIR) $(DESTDIR)$(datadir)/pixmaps
(cd $(srcdir)/res ; $(INSTALL_DATA) flamerobin.png $(DESTDIR)$(datadir)/pixmaps)
$(INSTALL_DIR) $(DESTDIR)$(datadir)/flamerobin/sys-templates
(cd $(srcdir)/sys-templates ; $(INSTALL_DATA) browse_data.template execute_procedure.template save_as_csv.confdef save_as_csv.template $(DESTDIR)$(datadir)/flamerobin/sys-templates)
uninstall:
(cd $(DESTDIR)$(bindir) ; rm -f flamerobin$(EXEEXT))
(cd $(DESTDIR)$(datadir)/flamerobin/code-templates ; rm -f create_trigger.confdef create_trigger.info create_trigger.template create_change_trigger.confdef create_change_trigger.info create_change_trigger.template create_selectable_execute_block.confdef create_selectable_execute_block.info create_selectable_execute_block.template create_selectable_procedure.confdef create_selectable_procedure.info create_selectable_procedure.template delete.confdef delete.info delete.template extract_full_ddl.info extract_full_ddl.template insert.confdef insert.info insert.template select.confdef select.info select.template template_info.confdef update.confdef update.info update.template)
(cd $(DESTDIR)$(datadir)/flamerobin/conf-defs ; rm -f fr_settings.confdef db_settings.confdef)
(cd $(DESTDIR)$(datadir)/flamerobin/docs ; rm -f fr_license.html fr_manual.html fr_whatsnew.html html.css)
(cd $(DESTDIR)@mandir@/man1 ; rm -f flamerobin.1)
(cd $(DESTDIR)$(datadir)/flamerobin/html-templates ; rm -f ALLloading.html DATABASE.html DATABASEtriggers.html DDL.html DOMAIN.html EXCEPTION.html FUNCTION.html GENERATOR.html PROCEDURE.html PROCEDUREprivileges.html ROLE.html ROLEprivileges.html SERVER.html TABLE.html TABLEconstraints.html TABLEtriggers.html TABLEindices.html TABLEprivileges.html TRIGGER.html VIEW.html VIEWprivileges.html VIEWtriggers.html dependencies.html header.html compute.png drop.png ok.png ok2.png redx.png view.png)
(cd $(DESTDIR)$(datadir)/applications ; rm -f flamerobin.desktop)
(cd $(DESTDIR)$(datadir)/pixmaps ; rm -f flamerobin.png)
(cd $(DESTDIR)$(datadir)/flamerobin/sys-templates ; rm -f browse_data.template execute_procedure.template save_as_csv.confdef save_as_csv.template)
install-strip: install
clean:
rm -rf ./.deps ./.pch
rm -f ./*.o
rm -f flamerobin$(EXEEXT)
rm -rf FlameRobin.app
rm -f $(LIBPREFIX)ibpp$(LIBEXT)
distclean: clean
rm -f config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile
svn-rev:
cd $(srcdir) && ./update-svn-rev.sh
flamerobin$(EXEEXT): $(FLAMEROBIN_OBJECTS) $(LIBPREFIX)ibpp$(LIBEXT) $(__flamerobin___win32rc) $(LIBPREFIX)ibpp$(LIBEXT)
$(CXX) -o $@ $(FLAMEROBIN_OBJECTS) -L. $(LDFLAGS_GUI) $(LDFLAGS) -libpp $(LIBS)
$(__flamerobin___mac_setfilecmd)
$(__flamerobin___os2_emxbindcmd)
@COND_USE_PCH_1@./.pch/flamerobin/wx/wxprec.h.gch:
@COND_USE_PCH_1@ $(BK_MAKE_PCH) ./.pch/flamerobin/wx/wxprec.h.gch wx/wxprec.h $(CXX) $(FLAMEROBIN_CXXFLAGS)
FlameRobin.app/Contents/PkgInfo: flamerobin$(EXEEXT) $(srcdir)/res/flamerobin.Info.plist.in $(srcdir)/res/flamerobin.icns
mkdir -p FlameRobin.app/Contents
mkdir -p FlameRobin.app/Contents/MacOS
mkdir -p FlameRobin.app/Contents/Resources
mkdir -p FlameRobin.app/Contents/SharedSupport
mkdir -p FlameRobin.app/Contents/SharedSupport/code-templates
mkdir -p FlameRobin.app/Contents/SharedSupport/conf-defs
mkdir -p FlameRobin.app/Contents/SharedSupport/docs
mkdir -p FlameRobin.app/Contents/SharedSupport/html-templates
echo -n "APPL????" >FlameRobin.app/Contents/PkgInfo
ln -f flamerobin$(EXEEXT) FlameRobin.app/Contents/MacOS/flamerobin
sed -e "s/VERSION/`cat $(srcdir)/src/frversion.h | \
awk '/FR_VERSION_MAJOR/ {ma = $$3} \
/FR_VERSION_MINOR/ {mi = $$3} \
/FR_VERSION_RLS/ {rls = $$3} \
END {printf "%d.%d.%d", ma, mi, rls}'`/" \
-e "s/YEAR/`date '+%Y'`/" $(srcdir)/res/flamerobin.Info.plist.in > FlameRobin.app/Contents/Info.plist
cp -f $(srcdir)/res/flamerobin.icns FlameRobin.app/Contents/Resources
cp -R $(srcdir)/code-templates/* FlameRobin.app/Contents/SharedSupport/code-templates
cp -R $(srcdir)/conf-defs/* FlameRobin.app/Contents/SharedSupport/conf-defs
cp -R $(srcdir)/docs/* FlameRobin.app/Contents/SharedSupport/docs
cp -R $(srcdir)/html-templates/* FlameRobin.app/Contents/SharedSupport/html-templates
@COND_PLATFORM_MACOSX_1@flamerobin_bundle: $(____flamerobin_BUNDLE_TGT_REF_DEP)
$(LIBPREFIX)ibpp$(LIBEXT): $(IBPP_OBJECTS)
rm -f $@
$(AR) $(AROPTIONS) $@ $(IBPP_OBJECTS)
$(RANLIB) $@
@COND_USE_PCH_1@./.pch/ibpp/_ibpp.h.gch:
@COND_USE_PCH_1@ $(BK_MAKE_PCH) ./.pch/ibpp/_ibpp.h.gch _ibpp.h $(CXX) $(IBPP_CXXFLAGS)
flamerobin_addconstrainthandler.o: $(srcdir)/src/addconstrainthandler.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/addconstrainthandler.cpp
flamerobin_Config.o: $(srcdir)/src/config/Config.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/config/Config.cpp
flamerobin_DatabaseConfig.o: $(srcdir)/src/config/DatabaseConfig.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/config/DatabaseConfig.cpp
flamerobin_ArtProvider.o: $(srcdir)/src/core/ArtProvider.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/ArtProvider.cpp
flamerobin_CodeTemplateProcessor.o: $(srcdir)/src/core/CodeTemplateProcessor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/CodeTemplateProcessor.cpp
flamerobin_FRError.o: $(srcdir)/src/core/FRError.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/FRError.cpp
flamerobin_Observer.o: $(srcdir)/src/core/Observer.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/Observer.cpp
flamerobin_ProgressIndicator.o: $(srcdir)/src/core/ProgressIndicator.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/ProgressIndicator.cpp
flamerobin_StringUtils.o: $(srcdir)/src/core/StringUtils.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/StringUtils.cpp
flamerobin_Subject.o: $(srcdir)/src/core/Subject.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/Subject.cpp
flamerobin_TemplateProcessor.o: $(srcdir)/src/core/TemplateProcessor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/TemplateProcessor.cpp
flamerobin_URIProcessor.o: $(srcdir)/src/core/URIProcessor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/URIProcessor.cpp
flamerobin_Visitor.o: $(srcdir)/src/core/Visitor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/core/Visitor.cpp
flamerobin_databasehandler.o: $(srcdir)/src/databasehandler.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/databasehandler.cpp
flamerobin_MetadataLoader.o: $(srcdir)/src/engine/MetadataLoader.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/engine/MetadataLoader.cpp
flamerobin_frprec.o: $(srcdir)/src/frprec.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/frprec.cpp
flamerobin_frutils.o: $(srcdir)/src/frutils.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/frutils.cpp
flamerobin_AboutBox.o: $(srcdir)/src/gui/AboutBox.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/AboutBox.cpp
flamerobin_AdvancedMessageDialog.o: $(srcdir)/src/gui/AdvancedMessageDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/AdvancedMessageDialog.cpp
flamerobin_AdvancedSearchFrame.o: $(srcdir)/src/gui/AdvancedSearchFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/AdvancedSearchFrame.cpp
flamerobin_BackupFrame.o: $(srcdir)/src/gui/BackupFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/BackupFrame.cpp
flamerobin_BackupRestoreBaseFrame.o: $(srcdir)/src/gui/BackupRestoreBaseFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/BackupRestoreBaseFrame.cpp
flamerobin_BaseDialog.o: $(srcdir)/src/gui/BaseDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/BaseDialog.cpp
flamerobin_BaseFrame.o: $(srcdir)/src/gui/BaseFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/BaseFrame.cpp
flamerobin_CommandManager.o: $(srcdir)/src/gui/CommandManager.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/CommandManager.cpp
flamerobin_ConfdefTemplateProcessor.o: $(srcdir)/src/gui/ConfdefTemplateProcessor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/ConfdefTemplateProcessor.cpp
flamerobin_ContextMenuMetadataItemVisitor.o: $(srcdir)/src/gui/ContextMenuMetadataItemVisitor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/ContextMenuMetadataItemVisitor.cpp
flamerobin_ControlUtils.o: $(srcdir)/src/gui/controls/ControlUtils.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/ControlUtils.cpp
flamerobin_DataGrid.o: $(srcdir)/src/gui/controls/DataGrid.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/DataGrid.cpp
flamerobin_DataGridRowBuffer.o: $(srcdir)/src/gui/controls/DataGridRowBuffer.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/DataGridRowBuffer.cpp
flamerobin_DataGridRows.o: $(srcdir)/src/gui/controls/DataGridRows.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/DataGridRows.cpp
flamerobin_DataGridTable.o: $(srcdir)/src/gui/controls/DataGridTable.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/DataGridTable.cpp
flamerobin_DBHTreeControl.o: $(srcdir)/src/gui/controls/DBHTreeControl.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/DBHTreeControl.cpp
flamerobin_DndTextControls.o: $(srcdir)/src/gui/controls/DndTextControls.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/DndTextControls.cpp
flamerobin_LogTextControl.o: $(srcdir)/src/gui/controls/LogTextControl.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/LogTextControl.cpp
flamerobin_PrintableHtmlWindow.o: $(srcdir)/src/gui/controls/PrintableHtmlWindow.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/PrintableHtmlWindow.cpp
flamerobin_TextControl.o: $(srcdir)/src/gui/controls/TextControl.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/controls/TextControl.cpp
flamerobin_CreateIndexDialog.o: $(srcdir)/src/gui/CreateIndexDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/CreateIndexDialog.cpp
flamerobin_DataGeneratorFrame.o: $(srcdir)/src/gui/DataGeneratorFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/DataGeneratorFrame.cpp
flamerobin_DatabaseRegistrationDialog.o: $(srcdir)/src/gui/DatabaseRegistrationDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/DatabaseRegistrationDialog.cpp
flamerobin_EditBlobDialog.o: $(srcdir)/src/gui/EditBlobDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/EditBlobDialog.cpp
flamerobin_EventWatcherFrame.o: $(srcdir)/src/gui/EventWatcherFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/EventWatcherFrame.cpp
flamerobin_ExecuteSqlFrame.o: $(srcdir)/src/gui/ExecuteSqlFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/ExecuteSqlFrame.cpp
flamerobin_ExecuteSql.o: $(srcdir)/src/gui/ExecuteSql.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/ExecuteSql.cpp
flamerobin_FieldPropertiesDialog.o: $(srcdir)/src/gui/FieldPropertiesDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/FieldPropertiesDialog.cpp
flamerobin_FindDialog.o: $(srcdir)/src/gui/FindDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/FindDialog.cpp
flamerobin_FRLayoutConfig.o: $(srcdir)/src/gui/FRLayoutConfig.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/FRLayoutConfig.cpp
flamerobin_GUIURIHandlerHelper.o: $(srcdir)/src/gui/GUIURIHandlerHelper.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/GUIURIHandlerHelper.cpp
flamerobin_HtmlHeaderMetadataItemVisitor.o: $(srcdir)/src/gui/HtmlHeaderMetadataItemVisitor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/HtmlHeaderMetadataItemVisitor.cpp
flamerobin_HtmlTemplateProcessor.o: $(srcdir)/src/gui/HtmlTemplateProcessor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/HtmlTemplateProcessor.cpp
flamerobin_InsertDialog.o: $(srcdir)/src/gui/InsertDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/InsertDialog.cpp
flamerobin_MainFrame.o: $(srcdir)/src/gui/MainFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/MainFrame.cpp
flamerobin_MetadataItemPropertiesFrame.o: $(srcdir)/src/gui/MetadataItemPropertiesFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/MetadataItemPropertiesFrame.cpp
flamerobin_MultilineEnterDialog.o: $(srcdir)/src/gui/MultilineEnterDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/MultilineEnterDialog.cpp
flamerobin_PreferencesDialog.o: $(srcdir)/src/gui/PreferencesDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/PreferencesDialog.cpp
flamerobin_PreferencesDialogSettings.o: $(srcdir)/src/gui/PreferencesDialogSettings.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/PreferencesDialogSettings.cpp
flamerobin_PrivilegesDialog.o: $(srcdir)/src/gui/PrivilegesDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/PrivilegesDialog.cpp
flamerobin_ProgressDialog.o: $(srcdir)/src/gui/ProgressDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/ProgressDialog.cpp
flamerobin_ReorderFieldsDialog.o: $(srcdir)/src/gui/ReorderFieldsDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/ReorderFieldsDialog.cpp
flamerobin_RestoreFrame.o: $(srcdir)/src/gui/RestoreFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/RestoreFrame.cpp
flamerobin_ServerRegistrationDialog.o: $(srcdir)/src/gui/ServerRegistrationDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/ServerRegistrationDialog.cpp
flamerobin_SimpleHtmlFrame.o: $(srcdir)/src/gui/SimpleHtmlFrame.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/SimpleHtmlFrame.cpp
flamerobin_StatementHistoryDialog.o: $(srcdir)/src/gui/StatementHistoryDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/StatementHistoryDialog.cpp
flamerobin_StyleGuide.o: $(srcdir)/src/gui/StyleGuide.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/StyleGuide.cpp
flamerobin_UserDialog.o: $(srcdir)/src/gui/UserDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/UserDialog.cpp
flamerobin_UsernamePasswordDialog.o: $(srcdir)/src/gui/UsernamePasswordDialog.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/UsernamePasswordDialog.cpp
flamerobin_logger.o: $(srcdir)/src/logger.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/logger.cpp
flamerobin_main.o: $(srcdir)/src/main.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/main.cpp
flamerobin_MasterPassword.o: $(srcdir)/src/MasterPassword.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/MasterPassword.cpp
flamerobin_column.o: $(srcdir)/src/metadata/column.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/column.cpp
flamerobin_constraints.o: $(srcdir)/src/metadata/constraints.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/constraints.cpp
flamerobin_CreateDDLVisitor.o: $(srcdir)/src/metadata/CreateDDLVisitor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/CreateDDLVisitor.cpp
flamerobin_database.o: $(srcdir)/src/metadata/database.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/database.cpp
flamerobin_domain.o: $(srcdir)/src/metadata/domain.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/domain.cpp
flamerobin_exception.o: $(srcdir)/src/metadata/exception.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/exception.cpp
flamerobin_function.o: $(srcdir)/src/metadata/function.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/function.cpp
flamerobin_generator.o: $(srcdir)/src/metadata/generator.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/generator.cpp
flamerobin_Index.o: $(srcdir)/src/metadata/Index.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/Index.cpp
flamerobin_metadataitem.o: $(srcdir)/src/metadata/metadataitem.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/metadataitem.cpp
flamerobin_MetadataItemCreateStatementVisitor.o: $(srcdir)/src/metadata/MetadataItemCreateStatementVisitor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/MetadataItemCreateStatementVisitor.cpp
flamerobin_MetadataItemDescriptionVisitor.o: $(srcdir)/src/metadata/MetadataItemDescriptionVisitor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/MetadataItemDescriptionVisitor.cpp
flamerobin_MetadataItemURIHandlerHelper.o: $(srcdir)/src/metadata/MetadataItemURIHandlerHelper.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/MetadataItemURIHandlerHelper.cpp
flamerobin_MetadataItemVisitor.o: $(srcdir)/src/metadata/MetadataItemVisitor.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/MetadataItemVisitor.cpp
flamerobin_MetadataTemplateCmdHandler.o: $(srcdir)/src/metadata/MetadataTemplateCmdHandler.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/MetadataTemplateCmdHandler.cpp
flamerobin_MetadataTemplateManager.o: $(srcdir)/src/metadata/MetadataTemplateManager.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/MetadataTemplateManager.cpp
flamerobin_parameter.o: $(srcdir)/src/metadata/parameter.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/parameter.cpp
flamerobin_privilege.o: $(srcdir)/src/metadata/privilege.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/privilege.cpp
flamerobin_procedure.o: $(srcdir)/src/metadata/procedure.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/procedure.cpp
flamerobin_relation.o: $(srcdir)/src/metadata/relation.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/relation.cpp
flamerobin_role.o: $(srcdir)/src/metadata/role.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/role.cpp
flamerobin_root.o: $(srcdir)/src/metadata/root.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/root.cpp
flamerobin_server.o: $(srcdir)/src/metadata/server.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/server.cpp
flamerobin_table.o: $(srcdir)/src/metadata/table.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/table.cpp
flamerobin_trigger.o: $(srcdir)/src/metadata/trigger.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/trigger.cpp
flamerobin_User.o: $(srcdir)/src/metadata/User.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/User.cpp
flamerobin_view.o: $(srcdir)/src/metadata/view.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/metadata/view.cpp
flamerobin_objectdescriptionhandler.o: $(srcdir)/src/objectdescriptionhandler.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/objectdescriptionhandler.cpp
flamerobin_Identifier.o: $(srcdir)/src/sql/Identifier.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/sql/Identifier.cpp
flamerobin_IncompleteStatement.o: $(srcdir)/src/sql/IncompleteStatement.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/sql/IncompleteStatement.cpp
flamerobin_MultiStatement.o: $(srcdir)/src/sql/MultiStatement.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/sql/MultiStatement.cpp
flamerobin_SelectStatement.o: $(srcdir)/src/sql/SelectStatement.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/sql/SelectStatement.cpp
flamerobin_SqlStatement.o: $(srcdir)/src/sql/SqlStatement.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/sql/SqlStatement.cpp
flamerobin_SqlTokenizer.o: $(srcdir)/src/sql/SqlTokenizer.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/sql/SqlTokenizer.cpp
flamerobin_StatementBuilder.o: $(srcdir)/src/sql/StatementBuilder.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/sql/StatementBuilder.cpp
flamerobin_statementHistory.o: $(srcdir)/src/statementHistory.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/statementHistory.cpp
flamerobin_StyleGuideGTK.o: $(srcdir)/src/gui/gtk/StyleGuideGTK.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/gtk/StyleGuideGTK.cpp
flamerobin_StyleGuideMAC.o: $(srcdir)/src/gui/mac/StyleGuideMAC.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/mac/StyleGuideMAC.cpp
flamerobin_StyleGuideMSW.o: $(srcdir)/src/gui/msw/StyleGuideMSW.cpp $(FLAMEROBIN_ODEP)
$(CXXC) -c -o $@ $(FLAMEROBIN_CXXFLAGS) $(srcdir)/src/gui/msw/StyleGuideMSW.cpp
flamerobin_flamerobin_rc.o: $(srcdir)/res/flamerobin.rc $(FLAMEROBIN_ODEP)
$(WINDRES) -i$< -o$@ --define HAVE_FRCONFIG_H $(____flamerobin_WXDEBUG_p_2) $(____flamerobin_DEBUGFLAG_p_2) $(__IBPPPLATFORMDEFINE_p_2) --include-dir . --include-dir $(srcdir)/src --include-dir $(srcdir)/src/ibpp --include-dir $(srcdir)/res @WX_INCLUDES@
ibpp__dpb.o: $(srcdir)/src/ibpp/_dpb.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/_dpb.cpp
ibpp__ibpp.o: $(srcdir)/src/ibpp/_ibpp.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/_ibpp.cpp
ibpp__ibs.o: $(srcdir)/src/ibpp/_ibs.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/_ibs.cpp
ibpp__rb.o: $(srcdir)/src/ibpp/_rb.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/_rb.cpp
ibpp__spb.o: $(srcdir)/src/ibpp/_spb.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/_spb.cpp
ibpp__tpb.o: $(srcdir)/src/ibpp/_tpb.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/_tpb.cpp
ibpp_array.o: $(srcdir)/src/ibpp/array.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/array.cpp
ibpp_blob.o: $(srcdir)/src/ibpp/blob.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/blob.cpp
ibpp_database.o: $(srcdir)/src/ibpp/database.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/database.cpp
ibpp_date.o: $(srcdir)/src/ibpp/date.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/date.cpp
ibpp_dbkey.o: $(srcdir)/src/ibpp/dbkey.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/dbkey.cpp
ibpp_events.o: $(srcdir)/src/ibpp/events.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/events.cpp
ibpp_exception.o: $(srcdir)/src/ibpp/exception.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/exception.cpp
ibpp_row.o: $(srcdir)/src/ibpp/row.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/row.cpp
ibpp_service.o: $(srcdir)/src/ibpp/service.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/service.cpp
ibpp_statement.o: $(srcdir)/src/ibpp/statement.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/statement.cpp
ibpp_time.o: $(srcdir)/src/ibpp/time.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/time.cpp
ibpp_transaction.o: $(srcdir)/src/ibpp/transaction.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/transaction.cpp
ibpp_user.o: $(srcdir)/src/ibpp/user.cpp $(IBPP_ODEP)
$(CXXC) -c -o $@ $(IBPP_CXXFLAGS) $(srcdir)/src/ibpp/user.cpp
# Include dependency info, if present:
@IF_GNU_MAKE@-include ./.deps/*.d
.PHONY: all install uninstall clean distclean flamerobin_bundle
flamerobin_0.9.3~svn+2220.orig/README.txt 0000664 0000000 0000000 00000001255 11770571553 0017704 0 ustar 00root root 0000000 0000000 FlameRobin
---------------------------
FlameRobin is a software package for administration of Firebird DBMS. It is
developed by:
Milan Babuskov
Nando Dessena
Michael Hieke
Gregory Sapunkov
Bart Bakker
The following people also made a significant non-coding contributions:
Marius Popa
Alex Stanciu
Barbara Del Vecchio
License
---------------------------
FlameRobin code is licensed under the Expat license.
A copy of the license can be found in the docs folder.
Part of code covering IBPP library is licensed under IBPP license.
A copy of IBPP license can be found in src/ibpp folder.
Some icons are licensed under LGPL license.
A copy of LGPL license can be found in res folder.
flamerobin_0.9.3~svn+2220.orig/aclocal.m4 0000664 0000000 0000000 00000216162 11770571553 0020053 0 ustar 00root root 0000000 0000000 # generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
dnl ---------------------------------------------------------------------------
dnl Macros for wxWidgets detection. Typically used in configure.in as:
dnl
dnl AC_ARG_ENABLE(...)
dnl AC_ARG_WITH(...)
dnl ...
dnl AM_OPTIONS_WXCONFIG
dnl ...
dnl ...
dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
dnl if test "$wxWin" != 1; then
dnl AC_MSG_ERROR([
dnl wxWidgets must be installed on your system
dnl but wx-config script couldn't be found.
dnl
dnl Please check that wx-config is in path, the directory
dnl where wxWidgets libraries are installed (returned by
dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
dnl equivalent variable and wxWidgets version is 2.3.4 or above.
dnl ])
dnl fi
dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
dnl
dnl LIBS="$LIBS $WX_LIBS"
dnl ---------------------------------------------------------------------------
dnl ---------------------------------------------------------------------------
dnl AM_OPTIONS_WXCONFIG
dnl
dnl adds support for --wx-prefix, --wx-exec-prefix, --with-wxdir and
dnl --wx-config command line options
dnl ---------------------------------------------------------------------------
AC_DEFUN([AM_OPTIONS_WXCONFIG],
[
AC_ARG_WITH(wxdir,
[ --with-wxdir=PATH Use uninstalled version of wxWidgets in PATH],
[ wx_config_name="$withval/wx-config"
wx_config_args="--inplace"])
AC_ARG_WITH(wx-config,
[ --with-wx-config=CONFIG wx-config script to use (optional)],
wx_config_name="$withval" )
AC_ARG_WITH(wx-prefix,
[ --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)],
wx_config_prefix="$withval", wx_config_prefix="")
AC_ARG_WITH(wx-exec-prefix,
[ --with-wx-exec-prefix=PREFIX
Exec prefix where wxWidgets is installed (optional)],
wx_config_exec_prefix="$withval", wx_config_exec_prefix="")
])
dnl Helper macro for checking if wx version is at least $1.$2.$3, set's
dnl wx_ver_ok=yes if it is:
AC_DEFUN([_WX_PRIVATE_CHECK_VERSION],
[
wx_ver_ok=""
if test "x$WX_VERSION" != x ; then
if test $wx_config_major_version -gt $1; then
wx_ver_ok=yes
else
if test $wx_config_major_version -eq $1; then
if test $wx_config_minor_version -gt $2; then
wx_ver_ok=yes
else
if test $wx_config_minor_version -eq $2; then
if test $wx_config_micro_version -ge $3; then
wx_ver_ok=yes
fi
fi
fi
fi
fi
fi
])
dnl ---------------------------------------------------------------------------
dnl AM_PATH_WXCONFIG(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
dnl [, WX-LIBS [, ADDITIONAL-WX-CONFIG-FLAGS]]]])
dnl
dnl Test for wxWidgets, and define WX_C*FLAGS, WX_LIBS and WX_LIBS_STATIC
dnl (the latter is for static linking against wxWidgets). Set WX_CONFIG_NAME
dnl environment variable to override the default name of the wx-config script
dnl to use. Set WX_CONFIG_PATH to specify the full path to wx-config - in this
dnl case the macro won't even waste time on tests for its existence.
dnl
dnl Optional WX-LIBS argument contains comma- or space-separated list of
dnl wxWidgets libraries to link against (it may include contrib libraries). If
dnl it is not specified then WX_LIBS and WX_LIBS_STATIC will contain flags to
dnl link with all of the core wxWidgets libraries.
dnl
dnl Optional ADDITIONAL-WX-CONFIG-FLAGS argument is appended to wx-config
dnl invocation command in present. It can be used to fine-tune lookup of
dnl best wxWidgets build available.
dnl
dnl Example use:
dnl AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], [html,core,net]
dnl [--unicode --debug])
dnl ---------------------------------------------------------------------------
dnl
dnl Get the cflags and libraries from the wx-config script
dnl
AC_DEFUN([AM_PATH_WXCONFIG],
[
dnl do we have wx-config name: it can be wx-config or wxd-config or ...
if test x${WX_CONFIG_NAME+set} != xset ; then
WX_CONFIG_NAME=wx-config
fi
if test "x$wx_config_name" != x ; then
WX_CONFIG_NAME="$wx_config_name"
fi
dnl deal with optional prefixes
if test x$wx_config_exec_prefix != x ; then
wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix"
WX_LOOKUP_PATH="$wx_config_exec_prefix/bin"
fi
if test x$wx_config_prefix != x ; then
wx_config_args="$wx_config_args --prefix=$wx_config_prefix"
WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin"
fi
if test "$cross_compiling" = "yes"; then
wx_config_args="$wx_config_args --host=$host_alias"
fi
dnl don't search the PATH if WX_CONFIG_NAME is absolute filename
if test -x "$WX_CONFIG_NAME" ; then
AC_MSG_CHECKING(for wx-config)
WX_CONFIG_PATH="$WX_CONFIG_NAME"
AC_MSG_RESULT($WX_CONFIG_PATH)
else
AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH")
fi
if test "$WX_CONFIG_PATH" != "no" ; then
WX_VERSION=""
min_wx_version=ifelse([$1], ,2.2.1,$1)
if test -z "$5" ; then
AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version])
else
AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version ($5)])
fi
WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $5 $4"
WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`
wx_config_major_version=`echo $WX_VERSION | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
wx_config_minor_version=`echo $WX_VERSION | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
wx_config_micro_version=`echo $WX_VERSION | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
wx_requested_major_version=`echo $min_wx_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
wx_requested_minor_version=`echo $min_wx_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
wx_requested_micro_version=`echo $min_wx_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
_WX_PRIVATE_CHECK_VERSION([$wx_requested_major_version],
[$wx_requested_minor_version],
[$wx_requested_micro_version])
if test -n "$wx_ver_ok"; then
AC_MSG_RESULT(yes (version $WX_VERSION))
WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs`
dnl is this even still appropriate? --static is a real option now
dnl and WX_CONFIG_WITH_ARGS is likely to contain it if that is
dnl what the user actually wants, making this redundant at best.
dnl For now keep it in case anyone actually used it in the past.
AC_MSG_CHECKING([for wxWidgets static library])
WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs 2>/dev/null`
if test "x$WX_LIBS_STATIC" = "x"; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
fi
dnl starting with version 2.2.6 wx-config has --cppflags argument
wx_has_cppflags=""
if test $wx_config_major_version -gt 2; then
wx_has_cppflags=yes
else
if test $wx_config_major_version -eq 2; then
if test $wx_config_minor_version -gt 2; then
wx_has_cppflags=yes
else
if test $wx_config_minor_version -eq 2; then
if test $wx_config_micro_version -ge 6; then
wx_has_cppflags=yes
fi
fi
fi
fi
fi
dnl starting with version 2.7.0 wx-config has --rescomp option
wx_has_rescomp=""
if test $wx_config_major_version -gt 2; then
wx_has_rescomp=yes
else
if test $wx_config_major_version -eq 2; then
if test $wx_config_minor_version -ge 7; then
wx_has_rescomp=yes
fi
fi
fi
if test "x$wx_has_rescomp" = x ; then
dnl cannot give any useful info for resource compiler
WX_RESCOMP=
else
WX_RESCOMP=`$WX_CONFIG_WITH_ARGS --rescomp`
fi
if test "x$wx_has_cppflags" = x ; then
dnl no choice but to define all flags like CFLAGS
WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
WX_CPPFLAGS=$WX_CFLAGS
WX_CXXFLAGS=$WX_CFLAGS
WX_CFLAGS_ONLY=$WX_CFLAGS
WX_CXXFLAGS_ONLY=$WX_CFLAGS
else
dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS
WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags`
WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags`
WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"`
WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"`
fi
ifelse([$2], , :, [$2])
else
if test "x$WX_VERSION" = x; then
dnl no wx-config at all
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(no (version $WX_VERSION is not new enough))
fi
WX_CFLAGS=""
WX_CPPFLAGS=""
WX_CXXFLAGS=""
WX_LIBS=""
WX_LIBS_STATIC=""
WX_RESCOMP=""
ifelse([$3], , :, [$3])
fi
else
WX_CFLAGS=""
WX_CPPFLAGS=""
WX_CXXFLAGS=""
WX_LIBS=""
WX_LIBS_STATIC=""
WX_RESCOMP=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(WX_CPPFLAGS)
AC_SUBST(WX_CFLAGS)
AC_SUBST(WX_CXXFLAGS)
AC_SUBST(WX_CFLAGS_ONLY)
AC_SUBST(WX_CXXFLAGS_ONLY)
AC_SUBST(WX_LIBS)
AC_SUBST(WX_LIBS_STATIC)
AC_SUBST(WX_VERSION)
AC_SUBST(WX_RESCOMP)
])
dnl ---------------------------------------------------------------------------
dnl Get information on the wxrc program for making C++, Python and xrs
dnl resource files.
dnl
dnl AC_ARG_ENABLE(...)
dnl AC_ARG_WITH(...)
dnl ...
dnl AM_OPTIONS_WXCONFIG
dnl ...
dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
dnl if test "$wxWin" != 1; then
dnl AC_MSG_ERROR([
dnl wxWidgets must be installed on your system
dnl but wx-config script couldn't be found.
dnl
dnl Please check that wx-config is in path, the directory
dnl where wxWidgets libraries are installed (returned by
dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
dnl equivalent variable and wxWidgets version is 2.6.0 or above.
dnl ])
dnl fi
dnl
dnl AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0])
dnl if test "x$HAVE_WXRC" != x1; then
dnl AC_MSG_ERROR([
dnl The wxrc program was not installed or not found.
dnl
dnl Please check the wxWidgets installation.
dnl ])
dnl fi
dnl
dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
dnl
dnl LDFLAGS="$LDFLAGS $WX_LIBS"
dnl ---------------------------------------------------------------------------
dnl ---------------------------------------------------------------------------
dnl AM_PATH_WXRC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
dnl
dnl Test for wxWidgets' wxrc program for creating either C++, Python or XRS
dnl resources. The variable WXRC will be set and substituted in the configure
dnl script and Makefiles.
dnl
dnl Example use:
dnl AM_PATH_WXRC([wxrc=1], [wxrc=0])
dnl ---------------------------------------------------------------------------
dnl
dnl wxrc program from the wx-config script
dnl
AC_DEFUN([AM_PATH_WXRC],
[
AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler])
if test "x$WX_CONFIG_NAME" = x; then
AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.])
else
AC_MSG_CHECKING([for wxrc])
if test "x$WXRC" = x ; then
dnl wx-config --utility is a new addition to wxWidgets:
_WX_PRIVATE_CHECK_VERSION(2,5,3)
if test -n "$wx_ver_ok"; then
WXRC=`$WX_CONFIG_WITH_ARGS --utility=wxrc`
fi
fi
if test "x$WXRC" = x ; then
AC_MSG_RESULT([not found])
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT([$WXRC])
ifelse([$1], , :, [$1])
fi
AC_SUBST(WXRC)
fi
])
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_DLLAR_SH],
[
dnl ===================== dllar.sh begins here =====================
dnl (Created by merge-scripts.py from dllar.sh
dnl file do not edit here!)
D='$'
cat <dllar.sh
#!/bin/sh
#
# dllar - a tool to build both a .dll and an .a file
# from a set of object (.o) files for EMX/OS2.
#
# Written by Andrew Zabolotny, bit@freya.etu.ru
# Ported to Unix like shell by Stefan Neis, Stefan.Neis@t-online.de
#
# This script will accept a set of files on the command line.
# All the public symbols from the .o files will be exported into
# a .DEF file, then linker will be run (through gcc) against them to
# build a shared library consisting of all given .o files. All libraries
# (.a) will be first decompressed into component .o files then act as
# described above. You can optionally give a description (-d "description")
# which will be put into .DLL. To see the list of accepted options (as well
# as command-line format) simply run this program without options. The .DLL
# is built to be imported by name (there is no guarantee that new versions
# of the library you build will have same ordinals for same symbols).
#
# dllar is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# dllar 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 dllar; see the file COPYING. If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# To successfuly run this program you will need:
# - Current drive should have LFN support (HPFS, ext2, network, etc)
# (Sometimes dllar generates filenames which won't fit 8.3 scheme)
# - gcc
# (used to build the .dll)
# - emxexp
# (used to create .def file from .o files)
# - emximp
# (used to create .a file from .def file)
# - GNU text utilites (cat, sort, uniq)
# used to process emxexp output
# - GNU file utilities (mv, rm)
# - GNU sed
# - lxlite (optional, see flag below)
# (used for general .dll cleanup)
#
flag_USE_LXLITE=1;
#
# helper functions
# basnam, variant of basename, which does _not_ remove the path, _iff_
# second argument (suffix to remove) is given
basnam(){
case ${D}# in
1)
echo ${D}1 | sed 's/.*\\///' | sed 's/.*\\\\//'
;;
2)
echo ${D}1 | sed 's/'${D}2'${D}//'
;;
*)
echo "error in basnam ${D}*"
exit 8
;;
esac
}
# Cleanup temporary files and output
CleanUp() {
cd ${D}curDir
for i in ${D}inputFiles ; do
case ${D}i in
*!)
rm -rf \`basnam ${D}i !\`
;;
*)
;;
esac
done
# Kill result in case of failure as there is just to many stupid make/nmake
# things out there which doesn't do this.
if @<:@ ${D}# -eq 0 @:>@; then
rm -f ${D}arcFile ${D}arcFile2 ${D}defFile ${D}dllFile
fi
}
# Print usage and exit script with rc=1.
PrintHelp() {
echo 'Usage: dllar.sh @<:@-o@<:@utput@:>@ output_file@:>@ @<:@-i@<:@mport@:>@ importlib_name@:>@'
echo ' @<:@-name-mangler-script script.sh@:>@'
echo ' @<:@-d@<:@escription@:>@ "dll descrption"@:>@ @<:@-cc "CC"@:>@ @<:@-f@<:@lags@:>@ "CFLAGS"@:>@'
echo ' @<:@-ord@<:@inals@:>@@:>@ -ex@<:@clude@:>@ "symbol(s)"'
echo ' @<:@-libf@<:@lags@:>@ "{INIT|TERM}{GLOBAL|INSTANCE}"@:>@ @<:@-nocrt@<:@dll@:>@@:>@ @<:@-nolxl@<:@ite@:>@@:>@'
echo ' @<:@*.o@:>@ @<:@*.a@:>@'
echo '*> "output_file" should have no extension.'
echo ' If it has the .o, .a or .dll extension, it is automatically removed.'
echo ' The import library name is derived from this and is set to "name".a,'
echo ' unless overridden by -import'
echo '*> "importlib_name" should have no extension.'
echo ' If it has the .o, or .a extension, it is automatically removed.'
echo ' This name is used as the import library name and may be longer and'
echo ' more descriptive than the DLL name which has to follow the old '
echo ' 8.3 convention of FAT.'
echo '*> "script.sh may be given to override the output_file name by a'
echo ' different name. It is mainly useful if the regular make process'
echo ' of some package does not take into account OS/2 restriction of'
echo ' DLL name lengths. It takes the importlib name as input and is'
echo ' supposed to procude a shorter name as output. The script should'
echo ' expect to get importlib_name without extension and should produce'
echo ' a (max.) 8 letter name without extension.'
echo '*> "cc" is used to use another GCC executable. (default: gcc.exe)'
echo '*> "flags" should be any set of valid GCC flags. (default: -s -Zcrtdll)'
echo ' These flags will be put at the start of GCC command line.'
echo '*> -ord@<:@inals@:>@ tells dllar to export entries by ordinals. Be careful.'
echo '*> -ex@<:@clude@:>@ defines symbols which will not be exported. You can define'
echo ' multiple symbols, for example -ex "myfunc yourfunc _GLOBAL*".'
echo ' If the last character of a symbol is "*", all symbols beginning'
echo ' with the prefix before "*" will be exclude, (see _GLOBAL* above).'
echo '*> -libf@<:@lags@:>@ can be used to add INITGLOBAL/INITINSTANCE and/or'
echo ' TERMGLOBAL/TERMINSTANCE flags to the dynamically-linked library.'
echo '*> -nocrt@<:@dll@:>@ switch will disable linking the library against emx''s'
echo ' C runtime DLLs.'
echo '*> -nolxl@<:@ite@:>@ switch will disable running lxlite on the resulting DLL.'
echo '*> All other switches (for example -L./ or -lmylib) will be passed'
echo ' unchanged to GCC at the end of command line.'
echo '*> If you create a DLL from a library and you do not specify -o,'
echo ' the basename for DLL and import library will be set to library name,'
echo ' the initial library will be renamed to 'name'_s.a (_s for static)'
echo ' i.e. "dllar gcc.a" will create gcc.dll and gcc.a, and the initial'
echo ' library will be renamed into gcc_s.a.'
echo '--------'
echo 'Example:'
echo ' dllar -o gcc290.dll libgcc.a -d "GNU C runtime library" -ord'
echo ' -ex "__main __ctordtor*" -libf "INITINSTANCE TERMINSTANCE"'
CleanUp
exit 1
}
# Execute a command.
# If exit code of the commnad <> 0 CleanUp() is called and we'll exit the script.
# @Uses Whatever CleanUp() uses.
doCommand() {
echo "${D}*"
eval ${D}*
rcCmd=${D}?
if @<:@ ${D}rcCmd -ne 0 @:>@; then
echo "command failed, exit code="${D}rcCmd
CleanUp
exit ${D}rcCmd
fi
}
# main routine
# setup globals
cmdLine=${D}*
outFile=""
outimpFile=""
inputFiles=""
renameScript=""
description=""
CC=gcc.exe
CFLAGS="-s -Zcrtdll"
EXTRA_CFLAGS=""
EXPORT_BY_ORDINALS=0
exclude_symbols=""
library_flags=""
curDir=\`pwd\`
curDirS=curDir
case ${D}curDirS in
*/)
;;
*)
curDirS=${D}{curDirS}"/"
;;
esac
# Parse commandline
libsToLink=0
omfLinking=0
while @<:@ ${D}1 @:>@; do
case ${D}1 in
-ord*)
EXPORT_BY_ORDINALS=1;
;;
-o*)
shift
outFile=${D}1
;;
-i*)
shift
outimpFile=${D}1
;;
-name-mangler-script)
shift
renameScript=${D}1
;;
-d*)
shift
description=${D}1
;;
-f*)
shift
CFLAGS=${D}1
;;
-c*)
shift
CC=${D}1
;;
-h*)
PrintHelp
;;
-ex*)
shift
exclude_symbols=${D}{exclude_symbols}${D}1" "
;;
-libf*)
shift
library_flags=${D}{library_flags}${D}1" "
;;
-nocrt*)
CFLAGS="-s"
;;
-nolxl*)
flag_USE_LXLITE=0
;;
-* | /*)
case ${D}1 in
-L* | -l*)
libsToLink=1
;;
-Zomf)
omfLinking=1
;;
*)
;;
esac
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
;;
*.dll)
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS} \`basnam ${D}1 .dll\`"
if @<:@ ${D}omfLinking -eq 1 @:>@; then
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.lib"
else
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.a"
fi
;;
*)
found=0;
if @<:@ ${D}libsToLink -ne 0 @:>@; then
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
else
for file in ${D}1 ; do
if @<:@ -f ${D}file @:>@; then
inputFiles="${D}{inputFiles} ${D}file"
found=1
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "ERROR: No file(s) found: "${D}1
exit 8
fi
fi
;;
esac
shift
done # iterate cmdline words
#
if @<:@ -z "${D}inputFiles" @:>@; then
echo "dllar: no input files"
PrintHelp
fi
# Now extract all .o files from .a files
newInputFiles=""
for file in ${D}inputFiles ; do
case ${D}file in
*.a | *.lib)
case ${D}file in
*.a)
suffix=".a"
AR="ar"
;;
*.lib)
suffix=".lib"
AR="emxomfar"
EXTRA_CFLAGS="${D}EXTRA_CFLAGS -Zomf"
;;
*)
;;
esac
dirname=\`basnam ${D}file ${D}suffix\`"_%"
mkdir ${D}dirname
if @<:@ ${D}? -ne 0 @:>@; then
echo "Failed to create subdirectory ./${D}dirname"
CleanUp
exit 8;
fi
# Append '!' to indicate archive
newInputFiles="${D}newInputFiles ${D}{dirname}!"
doCommand "cd ${D}dirname; ${D}AR x ../${D}file"
cd ${D}curDir
found=0;
for subfile in ${D}dirname/*.o* ; do
if @<:@ -f ${D}subfile @:>@; then
found=1
if @<:@ -s ${D}subfile @:>@; then
# FIXME: This should be: is file size > 32 byte, _not_ > 0!
newInputFiles="${D}newInputFiles ${D}subfile"
fi
fi
done
if @<:@ ${D}found -eq 0 @:>@; then
echo "WARNING: there are no files in archive \\'${D}file\\'"
fi
;;
*)
newInputFiles="${D}{newInputFiles} ${D}file"
;;
esac
done
inputFiles="${D}newInputFiles"
# Output filename(s).
do_backup=0;
if @<:@ -z ${D}outFile @:>@; then
do_backup=1;
set outFile ${D}inputFiles; outFile=${D}2
fi
# If it is an archive, remove the '!' and the '_%' suffixes
case ${D}outFile in
*_%!)
outFile=\`basnam ${D}outFile _%!\`
;;
*)
;;
esac
case ${D}outFile in
*.dll)
outFile=\`basnam ${D}outFile .dll\`
;;
*.DLL)
outFile=\`basnam ${D}outFile .DLL\`
;;
*.o)
outFile=\`basnam ${D}outFile .o\`
;;
*.obj)
outFile=\`basnam ${D}outFile .obj\`
;;
*.a)
outFile=\`basnam ${D}outFile .a\`
;;
*.lib)
outFile=\`basnam ${D}outFile .lib\`
;;
*)
;;
esac
case ${D}outimpFile in
*.a)
outimpFile=\`basnam ${D}outimpFile .a\`
;;
*.lib)
outimpFile=\`basnam ${D}outimpFile .lib\`
;;
*)
;;
esac
if @<:@ -z ${D}outimpFile @:>@; then
outimpFile=${D}outFile
fi
defFile="${D}{outFile}.def"
arcFile="${D}{outimpFile}.a"
arcFile2="${D}{outimpFile}.lib"
#create ${D}dllFile as something matching 8.3 restrictions,
if @<:@ -z ${D}renameScript @:>@ ; then
dllFile="${D}outFile"
else
dllFile=\`${D}renameScript ${D}outimpFile\`
fi
if @<:@ ${D}do_backup -ne 0 @:>@ ; then
if @<:@ -f ${D}arcFile @:>@ ; then
doCommand "mv ${D}arcFile ${D}{outFile}_s.a"
fi
if @<:@ -f ${D}arcFile2 @:>@ ; then
doCommand "mv ${D}arcFile2 ${D}{outFile}_s.lib"
fi
fi
# Extract public symbols from all the object files.
tmpdefFile=${D}{defFile}_%
rm -f ${D}tmpdefFile
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
doCommand "emxexp -u ${D}file >> ${D}tmpdefFile"
;;
esac
done
# Create the def file.
rm -f ${D}defFile
echo "LIBRARY \`basnam ${D}dllFile\` ${D}library_flags" >> ${D}defFile
dllFile="${D}{dllFile}.dll"
if @<:@ ! -z ${D}description @:>@; then
echo "DESCRIPTION \\"${D}{description}\\"" >> ${D}defFile
fi
echo "EXPORTS" >> ${D}defFile
doCommand "cat ${D}tmpdefFile | sort.exe | uniq.exe > ${D}{tmpdefFile}%"
grep -v "^ *;" < ${D}{tmpdefFile}% | grep -v "^ *${D}" >${D}tmpdefFile
# Checks if the export is ok or not.
for word in ${D}exclude_symbols; do
grep -v ${D}word < ${D}tmpdefFile >${D}{tmpdefFile}%
mv ${D}{tmpdefFile}% ${D}tmpdefFile
done
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
sed "=" < ${D}tmpdefFile | \\
sed '
N
: loop
s/^\\(@<:@0-9@:>@\\+\\)\\(@<:@^;@:>@*\\)\\(;.*\\)\\?/\\2 @\\1 NONAME/
t loop
' > ${D}{tmpdefFile}%
grep -v "^ *${D}" < ${D}{tmpdefFile}% > ${D}tmpdefFile
else
rm -f ${D}{tmpdefFile}%
fi
cat ${D}tmpdefFile >> ${D}defFile
rm -f ${D}tmpdefFile
# Do linking, create implib, and apply lxlite.
gccCmdl="";
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
gccCmdl="${D}gccCmdl ${D}file"
;;
esac
done
doCommand "${D}CC ${D}CFLAGS -Zdll -o ${D}dllFile ${D}defFile ${D}gccCmdl ${D}EXTRA_CFLAGS"
touch "${D}{outFile}.dll"
doCommand "emximp -o ${D}arcFile ${D}defFile"
if @<:@ ${D}flag_USE_LXLITE -ne 0 @:>@; then
add_flags="";
if @<:@ ${D}EXPORT_BY_ORDINALS -ne 0 @:>@; then
add_flags="-ynd"
fi
doCommand "lxlite -cs -t: -mrn -mln ${D}add_flags ${D}dllFile"
fi
doCommand "emxomf -s -l ${D}arcFile"
# Successful exit.
CleanUp 1
exit 0
EOF
dnl ===================== dllar.sh ends here =====================
])
dnl
dnl This file is part of Bakefile (http://www.bakefile.org)
dnl
dnl Copyright (C) 2003-2007 Vaclav Slavik, David Elliott and others
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
dnl to deal in the Software without restriction, including without limitation
dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
dnl and/or sell copies of the Software, and to permit persons to whom the
dnl Software is furnished to do so, subject to the following conditions:
dnl
dnl The above copyright notice and this permission notice shall be included in
dnl all copies or substantial portions of the Software.
dnl
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
dnl DEALINGS IN THE SOFTWARE.
dnl
dnl $Id$
dnl
dnl Compiler detection macros by David Elliott and Vadim Zeitlin
dnl
dnl ===========================================================================
dnl Macros to detect different C/C++ compilers
dnl ===========================================================================
dnl Based on autoconf _AC_LANG_COMPILER_GNU
dnl _AC_BAKEFILE_LANG_COMPILER(NAME, LANG, SYMBOL, IF-YES, IF-NO)
AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER],
[
AC_LANG_PUSH($2)
AC_CACHE_CHECK(
[whether we are using the $1 $2 compiler],
[bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3],
[AC_TRY_COMPILE(
[],
[
#ifndef $3
choke me
#endif
],
[bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3=yes],
[bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3=no]
)
]
)
if test "x$bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3" = "xyes"; then
:; $4
else
:; $5
fi
AC_LANG_POP($2)
])
dnl More specific version of the above macro checking whether the compiler
dnl version is at least the given one (assumes that we do use this compiler)
dnl
dnl _AC_BAKEFILE_LANG_COMPILER_LATER_THAN(NAME, LANG, SYMBOL, VER, VERMSG, IF-YES, IF-NO)
AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER_LATER_THAN],
[
AC_LANG_PUSH($2)
AC_CACHE_CHECK(
[whether we are using $1 $2 compiler v$5 or later],
[bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3[]_lt_[]$4],
[AC_TRY_COMPILE(
[],
[
#ifndef $3 || $3 < $4
choke me
#endif
],
[bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3[]_lt_[]$4=yes],
[bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3[]_lt_[]$4=no]
)
]
)
if test "x$bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_[]$3[]_lt_[]$4" = "xyes"; then
:; $6
else
:; $7
fi
AC_LANG_POP($2)
])
dnl CodeWarrior Metrowerks compiler defines __MWERKS__ for both C and C++
AC_DEFUN([AC_BAKEFILE_PROG_MWCC],
[
_AC_BAKEFILE_LANG_COMPILER(Metrowerks, C, __MWERKS__, MWCC=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_MWCXX],
[
_AC_BAKEFILE_LANG_COMPILER(Metrowerks, C++, __MWERKS__, MWCXX=yes)
])
dnl IBM xlC compiler defines __xlC__ for both C and C++
AC_DEFUN([AC_BAKEFILE_PROG_XLCC],
[
_AC_BAKEFILE_LANG_COMPILER([IBM xlC], C, __xlC__, XLCC=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_XLCXX],
[
_AC_BAKEFILE_LANG_COMPILER([IBM xlC], C++, __xlC__, XLCXX=yes)
])
dnl recent versions of SGI mipsPro compiler define _SGI_COMPILER_VERSION
dnl
dnl NB: old versions define _COMPILER_VERSION but this could probably be
dnl defined by other compilers too so don't test for it to be safe
AC_DEFUN([AC_BAKEFILE_PROG_SGICC],
[
_AC_BAKEFILE_LANG_COMPILER(SGI, C, _SGI_COMPILER_VERSION, SGICC=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_SGICXX],
[
_AC_BAKEFILE_LANG_COMPILER(SGI, C++, _SGI_COMPILER_VERSION, SGICXX=yes)
])
dnl Sun compiler defines __SUNPRO_C/__SUNPRO_CC
AC_DEFUN([AC_BAKEFILE_PROG_SUNCC],
[
_AC_BAKEFILE_LANG_COMPILER(Sun, C, __SUNPRO_C, SUNCC=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_SUNCXX],
[
_AC_BAKEFILE_LANG_COMPILER(Sun, C++, __SUNPRO_CC, SUNCXX=yes)
])
dnl Intel icc compiler defines __INTEL_COMPILER for both C and C++
AC_DEFUN([AC_BAKEFILE_PROG_INTELCC],
[
_AC_BAKEFILE_LANG_COMPILER(Intel, C, __INTEL_COMPILER, INTELCC=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_INTELCXX],
[
_AC_BAKEFILE_LANG_COMPILER(Intel, C++, __INTEL_COMPILER, INTELCXX=yes)
])
dnl Intel compiler command line options changed in incompatible ways sometimes
dnl before v8 (-KPIC was replaced with gcc-compatible -fPIC) and again in v10
dnl (-create-pch deprecated in favour of -pch-create) so we need to test for
dnl its exact version too
AC_DEFUN([AC_BAKEFILE_PROG_INTELCC_8],
[
_AC_BAKEFILE_LANG_COMPILER_LATER_THAN(Intel, C, __INTEL_COMPILER, 800, 8, INTELCC8=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_INTELCXX_8],
[
_AC_BAKEFILE_LANG_COMPILER_LATER_THAN(Intel, C++, __INTEL_COMPILER, 800, 8, INTELCXX8=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_INTELCC_10],
[
_AC_BAKEFILE_LANG_COMPILER_LATER_THAN(Intel, C, __INTEL_COMPILER, 1000, 10, INTELCC10=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_INTELCXX_10],
[
_AC_BAKEFILE_LANG_COMPILER_LATER_THAN(Intel, C++, __INTEL_COMPILER, 1000, 10, INTELCXX10=yes)
])
dnl HP-UX aCC: see http://docs.hp.com/en/6162/preprocess.htm#macropredef
AC_DEFUN([AC_BAKEFILE_PROG_HPCC],
[
_AC_BAKEFILE_LANG_COMPILER(HP, C, __HP_cc, HPCC=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_HPCXX],
[
_AC_BAKEFILE_LANG_COMPILER(HP, C++, __HP_aCC, HPCXX=yes)
])
dnl Tru64 cc and cxx
AC_DEFUN([AC_BAKEFILE_PROG_COMPAQCC],
[
_AC_BAKEFILE_LANG_COMPILER(Compaq, C, __DECC, COMPAQCC=yes)
])
AC_DEFUN([AC_BAKEFILE_PROG_COMPAQCXX],
[
_AC_BAKEFILE_LANG_COMPILER(Compaq, C++, __DECCXX, COMPAQCXX=yes)
])
dnl ===========================================================================
dnl macros to detect specialty compiler options
dnl ===========================================================================
dnl Figure out if we need to pass -ext o to compiler (MetroWerks)
AC_DEFUN([AC_BAKEFILE_METROWERKS_EXTO],
[AC_CACHE_CHECK([if the _AC_LANG compiler requires -ext o], bakefile_cv_[]_AC_LANG_ABBREV[]_exto,
dnl First create an empty conf test
[AC_LANG_CONFTEST([AC_LANG_PROGRAM()])
dnl Now remove .o and .c.o or .cc.o
rm -f conftest.$ac_objext conftest.$ac_ext.o
dnl Now compile the test
AS_IF([AC_TRY_EVAL(ac_compile)],
dnl If the test succeeded look for conftest.c.o or conftest.cc.o
[for ac_file in `(ls conftest.* 2>/dev/null)`; do
case $ac_file in
conftest.$ac_ext.o)
bakefile_cv_[]_AC_LANG_ABBREV[]_exto="-ext o"
;;
*)
;;
esac
done],
[AC_MSG_FAILURE([cannot figure out if compiler needs -ext o: cannot compile])
]) dnl AS_IF
rm -f conftest.$ac_ext.o conftest.$ac_objext conftest.$ac_ext
]) dnl AC_CACHE_CHECK
if test "x$bakefile_cv_[]_AC_LANG_ABBREV[]_exto" '!=' "x"; then
if test "[]_AC_LANG_ABBREV[]" = "c"; then
CFLAGS="$bakefile_cv_[]_AC_LANG_ABBREV[]_exto $CFLAGS"
fi
if test "[]_AC_LANG_ABBREV[]" = "cxx"; then
CXXFLAGS="$bakefile_cv_[]_AC_LANG_ABBREV[]_exto $CXXFLAGS"
fi
fi
]) dnl AC_DEFUN
dnl ===========================================================================
dnl Macros to do all of the compiler detections as one macro
dnl ===========================================================================
dnl check for different proprietary compilers depending on target platform
dnl _AC_BAKEFILE_PROG_COMPILER(LANG)
AC_DEFUN([_AC_BAKEFILE_PROG_COMPILER],
[
AC_REQUIRE([AC_PROG_$1])
dnl Intel compiler can be used under several different OS and even
dnl different architectures (x86, amd64 and Itanium) so it's easier to just
dnl always test for it
AC_BAKEFILE_PROG_INTEL$1
dnl If we use Intel compiler we also need to know its version
if test "$INTEL$1" = "yes"; then
AC_BAKEFILE_PROG_INTEL$1_8
AC_BAKEFILE_PROG_INTEL$1_10
fi
dnl if we're using gcc, we can't be using any of incompatible compilers
if test "x$G$1" != "xyes"; then
if test "x$1" = "xC"; then
AC_BAKEFILE_METROWERKS_EXTO
if test "x$bakefile_cv_c_exto" '!=' "x"; then
unset ac_cv_prog_cc_g
_AC_PROG_CC_G
fi
fi
dnl most of these compilers are only used under well-defined OS so
dnl don't waste time checking for them on other ones
case `uname -s` in
AIX*)
AC_BAKEFILE_PROG_XL$1
;;
Darwin)
AC_BAKEFILE_PROG_MW$1
if test "$MW$1" != "yes"; then
AC_BAKEFILE_PROG_XL$1
fi
;;
IRIX*)
AC_BAKEFILE_PROG_SGI$1
;;
Linux*)
dnl Sun CC is now available under Linux too, test for it unless
dnl we already found that we were using a different compiler
if test "$INTEL$1" != "yes"; then
AC_BAKEFILE_PROG_SUN$1
fi
;;
HP-UX*)
AC_BAKEFILE_PROG_HP$1
;;
OSF1)
AC_BAKEFILE_PROG_COMPAQ$1
;;
SunOS)
AC_BAKEFILE_PROG_SUN$1
;;
esac
fi
])
AC_DEFUN([AC_BAKEFILE_PROG_CC],
[
_AC_BAKEFILE_PROG_COMPILER(CC)
])
AC_DEFUN([AC_BAKEFILE_PROG_CXX],
[
_AC_BAKEFILE_PROG_COMPILER(CXX)
])
dnl
dnl This file is part of Bakefile (http://www.bakefile.org)
dnl
dnl Copyright (C) 2003-2007 Vaclav Slavik and others
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
dnl to deal in the Software without restriction, including without limitation
dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
dnl and/or sell copies of the Software, and to permit persons to whom the
dnl Software is furnished to do so, subject to the following conditions:
dnl
dnl The above copyright notice and this permission notice shall be included in
dnl all copies or substantial portions of the Software.
dnl
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
dnl DEALINGS IN THE SOFTWARE.
dnl
dnl $Id$
dnl
dnl Support macros for makefiles generated by BAKEFILE.
dnl
dnl ---------------------------------------------------------------------------
dnl Lots of compiler & linker detection code contained here was taken from
dnl wxWidgets configure.in script (see http://www.wxwidgets.org)
dnl ---------------------------------------------------------------------------
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_GNUMAKE
dnl
dnl Detects GNU make
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_GNUMAKE],
[
dnl does make support "-include" (only GNU make does AFAIK)?
AC_CACHE_CHECK([if make is GNU make], bakefile_cv_prog_makeisgnu,
[
if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
egrep -s GNU > /dev/null); then
bakefile_cv_prog_makeisgnu="yes"
else
bakefile_cv_prog_makeisgnu="no"
fi
])
if test "x$bakefile_cv_prog_makeisgnu" = "xyes"; then
IF_GNU_MAKE=""
else
IF_GNU_MAKE="#"
fi
AC_SUBST(IF_GNU_MAKE)
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_PLATFORM
dnl
dnl Detects platform and sets PLATFORM_XXX variables accordingly
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_PLATFORM],
[
PLATFORM_UNIX=0
PLATFORM_WIN32=0
PLATFORM_MSDOS=0
PLATFORM_MAC=0
PLATFORM_MACOS=0
PLATFORM_MACOSX=0
PLATFORM_OS2=0
PLATFORM_BEOS=0
if test "x$BAKEFILE_FORCE_PLATFORM" = "x"; then
case "${BAKEFILE_HOST}" in
*-*-mingw32* )
PLATFORM_WIN32=1
;;
*-pc-msdosdjgpp )
PLATFORM_MSDOS=1
;;
*-pc-os2_emx | *-pc-os2-emx )
PLATFORM_OS2=1
;;
*-*-darwin* )
PLATFORM_MAC=1
PLATFORM_MACOSX=1
;;
*-*-beos* )
PLATFORM_BEOS=1
;;
powerpc-apple-macos* )
PLATFORM_MAC=1
PLATFORM_MACOS=1
;;
* )
PLATFORM_UNIX=1
;;
esac
else
case "$BAKEFILE_FORCE_PLATFORM" in
win32 )
PLATFORM_WIN32=1
;;
msdos )
PLATFORM_MSDOS=1
;;
os2 )
PLATFORM_OS2=1
;;
darwin )
PLATFORM_MAC=1
PLATFORM_MACOSX=1
;;
unix )
PLATFORM_UNIX=1
;;
beos )
PLATFORM_BEOS=1
;;
* )
AC_MSG_ERROR([Unknown platform: $BAKEFILE_FORCE_PLATFORM])
;;
esac
fi
AC_SUBST(PLATFORM_UNIX)
AC_SUBST(PLATFORM_WIN32)
AC_SUBST(PLATFORM_MSDOS)
AC_SUBST(PLATFORM_MAC)
AC_SUBST(PLATFORM_MACOS)
AC_SUBST(PLATFORM_MACOSX)
AC_SUBST(PLATFORM_OS2)
AC_SUBST(PLATFORM_BEOS)
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_PLATFORM_SPECIFICS
dnl
dnl Sets misc platform-specific settings
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_PLATFORM_SPECIFICS],
[
AC_ARG_ENABLE([omf], AS_HELP_STRING([--enable-omf],
[use OMF object format (OS/2)]),
[bk_os2_use_omf="$enableval"])
case "${BAKEFILE_HOST}" in
*-*-darwin* )
dnl For Unix to MacOS X porting instructions, see:
dnl http://fink.sourceforge.net/doc/porting/porting.html
if test "x$GCC" = "xyes"; then
CFLAGS="$CFLAGS -fno-common"
CXXFLAGS="$CXXFLAGS -fno-common"
fi
if test "x$XLCC" = "xyes"; then
CFLAGS="$CFLAGS -qnocommon"
CXXFLAGS="$CXXFLAGS -qnocommon"
fi
;;
*-pc-os2_emx | *-pc-os2-emx )
if test "x$bk_os2_use_omf" = "xyes" ; then
AR=emxomfar
RANLIB=:
LDFLAGS="-Zomf $LDFLAGS"
CFLAGS="-Zomf $CFLAGS"
CXXFLAGS="-Zomf $CXXFLAGS"
OS2_LIBEXT="lib"
else
OS2_LIBEXT="a"
fi
;;
i*86-*-beos* )
LDFLAGS="-L/boot/develop/lib/x86 $LDFLAGS"
;;
esac
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_SUFFIXES
dnl
dnl Detects shared various suffixes for shared libraries, libraries, programs,
dnl plugins etc.
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_SUFFIXES],
[
SO_SUFFIX="so"
SO_SUFFIX_MODULE="so"
EXEEXT=""
LIBPREFIX="lib"
LIBEXT=".a"
DLLPREFIX="lib"
DLLPREFIX_MODULE=""
DLLIMP_SUFFIX=""
dlldir="$libdir"
case "${BAKEFILE_HOST}" in
dnl PA-RISC HP systems used .sl but IA64 use ELF-64 and so use the
dnl standard .so extension
ia64-hp-hpux* )
;;
*-hp-hpux* )
SO_SUFFIX="sl"
SO_SUFFIX_MODULE="sl"
;;
*-*-aix* )
dnl quoting from
dnl http://www-1.ibm.com/servers/esdd/articles/gnu.html:
dnl Both archive libraries and shared libraries on AIX have an
dnl .a extension. This will explain why you can't link with an
dnl .so and why it works with the name changed to .a.
SO_SUFFIX="a"
SO_SUFFIX_MODULE="a"
;;
*-*-cygwin* )
SO_SUFFIX="dll"
SO_SUFFIX_MODULE="dll"
DLLIMP_SUFFIX="dll.a"
EXEEXT=".exe"
DLLPREFIX="cyg"
dlldir="$bindir"
;;
*-*-mingw32* )
SO_SUFFIX="dll"
SO_SUFFIX_MODULE="dll"
DLLIMP_SUFFIX="dll.a"
EXEEXT=".exe"
DLLPREFIX=""
dlldir="$bindir"
;;
*-pc-msdosdjgpp )
EXEEXT=".exe"
DLLPREFIX=""
dlldir="$bindir"
;;
*-pc-os2_emx | *-pc-os2-emx )
SO_SUFFIX="dll"
SO_SUFFIX_MODULE="dll"
DLLIMP_SUFFIX=$OS2_LIBEXT
EXEEXT=".exe"
DLLPREFIX=""
LIBPREFIX=""
LIBEXT=".$OS2_LIBEXT"
dlldir="$bindir"
;;
*-*-darwin* )
SO_SUFFIX="dylib"
SO_SUFFIX_MODULE="bundle"
;;
esac
if test "x$DLLIMP_SUFFIX" = "x" ; then
DLLIMP_SUFFIX="$SO_SUFFIX"
fi
AC_SUBST(SO_SUFFIX)
AC_SUBST(SO_SUFFIX_MODULE)
AC_SUBST(DLLIMP_SUFFIX)
AC_SUBST(EXEEXT)
AC_SUBST(LIBPREFIX)
AC_SUBST(LIBEXT)
AC_SUBST(DLLPREFIX)
AC_SUBST(DLLPREFIX_MODULE)
AC_SUBST(dlldir)
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_SHARED_LD
dnl
dnl Detects command for making shared libraries, substitutes SHARED_LD_CC
dnl and SHARED_LD_CXX.
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_SHARED_LD],
[
dnl the extra compiler flags needed for compilation of shared library
PIC_FLAG=""
if test "x$GCC" = "xyes"; then
dnl the switch for gcc is the same under all platforms
PIC_FLAG="-fPIC"
fi
dnl Defaults for GCC and ELF .so shared libs:
SHARED_LD_CC="\$(CC) -shared ${PIC_FLAG} -o"
SHARED_LD_CXX="\$(CXX) -shared ${PIC_FLAG} -o"
WINDOWS_IMPLIB=0
case "${BAKEFILE_HOST}" in
*-hp-hpux* )
dnl default settings are good for gcc but not for the native HP-UX
if test "x$GCC" != "xyes"; then
dnl no idea why it wants it, but it does
LDFLAGS="$LDFLAGS -L/usr/lib"
SHARED_LD_CC="${CC} -b -o"
SHARED_LD_CXX="${CXX} -b -o"
PIC_FLAG="+Z"
fi
;;
*-*-linux* )
dnl newer icc versions use -fPIC just as gcc does and, in fact, the
dnl newest (v10+) ones don't even understand -KPIC any longer
if test "$INTELCC" = "yes" -a "$INTELCC8" != "yes"; then
PIC_FLAG="-KPIC"
elif test "x$SUNCXX" = "xyes"; then
SHARED_LD_CC="${CC} -G -o"
SHARED_LD_CXX="${CXX} -G -o"
PIC_FLAG="-KPIC"
fi
;;
*-*-solaris2* )
if test "x$SUNCXX" = xyes ; then
SHARED_LD_CC="${CC} -G -o"
SHARED_LD_CXX="${CXX} -G -o"
PIC_FLAG="-KPIC"
fi
;;
*-*-darwin* )
AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH
chmod +x shared-ld-sh
SHARED_LD_MODULE_CC="`pwd`/shared-ld-sh -bundle -headerpad_max_install_names -o"
SHARED_LD_MODULE_CXX="CXX=\"\$(CXX)\" $SHARED_LD_MODULE_CC"
dnl Most apps benefit from being fully binded (its faster and static
dnl variables initialized at startup work).
dnl This can be done either with the exe linker flag -Wl,-bind_at_load
dnl or with a double stage link in order to create a single module
dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved
dnl If using newer dev tools then there is a -single_module flag that
dnl we can use to do this for dylibs, otherwise we'll need to use a helper
dnl script. Check the version of gcc to see which way we can go:
AC_CACHE_CHECK([for gcc 3.1 or later], bakefile_cv_gcc31, [
AC_TRY_COMPILE([],
[
#if (__GNUC__ < 3) || \
((__GNUC__ == 3) && (__GNUC_MINOR__ < 1))
This is old gcc
#endif
],
[
bakefile_cv_gcc31=yes
],
[
bakefile_cv_gcc31=no
]
)
])
if test "$bakefile_cv_gcc31" = "no"; then
dnl Use the shared-ld-sh helper script
SHARED_LD_CC="`pwd`/shared-ld-sh -dynamiclib -headerpad_max_install_names -o"
SHARED_LD_CXX="$SHARED_LD_CC"
else
dnl Use the -single_module flag and let the linker do it for us
SHARED_LD_CC="\${CC} -dynamiclib -single_module -headerpad_max_install_names -o"
SHARED_LD_CXX="\${CXX} -dynamiclib -single_module -headerpad_max_install_names -o"
fi
if test "x$GCC" == "xyes"; then
PIC_FLAG="-dynamic -fPIC"
fi
if test "x$XLCC" = "xyes"; then
PIC_FLAG="-dynamic -DPIC"
fi
;;
*-*-aix* )
if test "x$GCC" = "xyes"; then
dnl at least gcc 2.95 warns that -fPIC is ignored when
dnl compiling each and every file under AIX which is annoying,
dnl so don't use it there (it's useless as AIX runs on
dnl position-independent architectures only anyhow)
PIC_FLAG=""
dnl -bexpfull is needed by AIX linker to export all symbols (by
dnl default it doesn't export any and even with -bexpall it
dnl doesn't export all C++ support symbols, e.g. vtable
dnl pointers) but it's only available starting from 5.1 (with
dnl maintenance pack 2, whatever this is), see
dnl http://www-128.ibm.com/developerworks/eserver/articles/gnu.html
case "${BAKEFILE_HOST}" in
*-*-aix5* )
LD_EXPFULL="-Wl,-bexpfull"
;;
esac
SHARED_LD_CC="\$(CC) -shared $LD_EXPFULL -o"
SHARED_LD_CXX="\$(CXX) -shared $LD_EXPFULL -o"
else
dnl FIXME: makeC++SharedLib is obsolete, what should we do for
dnl recent AIX versions?
AC_CHECK_PROG(AIX_CXX_LD, makeC++SharedLib,
makeC++SharedLib, /usr/lpp/xlC/bin/makeC++SharedLib)
SHARED_LD_CC="$AIX_CC_LD -p 0 -o"
SHARED_LD_CXX="$AIX_CXX_LD -p 0 -o"
fi
;;
*-*-beos* )
dnl can't use gcc under BeOS for shared library creation because it
dnl complains about missing 'main'
SHARED_LD_CC="${LD} -nostart -o"
SHARED_LD_CXX="${LD} -nostart -o"
;;
*-*-irix* )
dnl default settings are ok for gcc
if test "x$GCC" != "xyes"; then
PIC_FLAG="-KPIC"
fi
;;
*-*-cygwin* | *-*-mingw32* )
PIC_FLAG=""
SHARED_LD_CC="\$(CC) -shared -o"
SHARED_LD_CXX="\$(CXX) -shared -o"
WINDOWS_IMPLIB=1
;;
*-pc-os2_emx | *-pc-os2-emx )
SHARED_LD_CC="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
SHARED_LD_CXX="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
PIC_FLAG=""
AC_BAKEFILE_CREATE_FILE_DLLAR_SH
chmod +x dllar.sh
;;
powerpc-apple-macos* | \
*-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-k*bsd*-gnu | \
*-*-mirbsd* | \
*-*-sunos4* | \
*-*-osf* | \
*-*-dgux5* | \
*-*-sysv5* | \
*-pc-msdosdjgpp )
dnl defaults are ok
;;
*)
AC_MSG_ERROR(unknown system type $BAKEFILE_HOST.)
esac
if test "x$PIC_FLAG" != "x" ; then
PIC_FLAG="$PIC_FLAG -DPIC"
fi
if test "x$SHARED_LD_MODULE_CC" = "x" ; then
SHARED_LD_MODULE_CC="$SHARED_LD_CC"
fi
if test "x$SHARED_LD_MODULE_CXX" = "x" ; then
SHARED_LD_MODULE_CXX="$SHARED_LD_CXX"
fi
AC_SUBST(SHARED_LD_CC)
AC_SUBST(SHARED_LD_CXX)
AC_SUBST(SHARED_LD_MODULE_CC)
AC_SUBST(SHARED_LD_MODULE_CXX)
AC_SUBST(PIC_FLAG)
AC_SUBST(WINDOWS_IMPLIB)
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_SHARED_VERSIONS
dnl
dnl Detects linker options for attaching versions (sonames) to shared libs.
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS],
[
USE_SOVERSION=0
USE_SOVERLINUX=0
USE_SOVERSOLARIS=0
USE_SOVERCYGWIN=0
USE_SOTWOSYMLINKS=0
USE_MACVERSION=0
SONAME_FLAG=
case "${BAKEFILE_HOST}" in
*-*-linux* | *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \
*-*-k*bsd*-gnu | *-*-mirbsd* )
if test "x$SUNCXX" = "xyes"; then
SONAME_FLAG="-h "
else
SONAME_FLAG="-Wl,-soname,"
fi
USE_SOVERSION=1
USE_SOVERLINUX=1
USE_SOTWOSYMLINKS=1
;;
*-*-solaris2* )
SONAME_FLAG="-h "
USE_SOVERSION=1
USE_SOVERSOLARIS=1
;;
*-*-darwin* )
USE_MACVERSION=1
USE_SOVERSION=1
USE_SOTWOSYMLINKS=1
;;
*-*-cygwin* )
USE_SOVERSION=1
USE_SOVERCYGWIN=1
;;
esac
AC_SUBST(USE_SOVERSION)
AC_SUBST(USE_SOVERLINUX)
AC_SUBST(USE_SOVERSOLARIS)
AC_SUBST(USE_SOVERCYGWIN)
AC_SUBST(USE_MACVERSION)
AC_SUBST(USE_SOTWOSYMLINKS)
AC_SUBST(SONAME_FLAG)
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_DEPS
dnl
dnl Detects available C/C++ dependency tracking options
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_DEPS],
[
AC_ARG_ENABLE([dependency-tracking],
AS_HELP_STRING([--disable-dependency-tracking],
[don't use dependency tracking even if the compiler can]),
[bk_use_trackdeps="$enableval"])
AC_MSG_CHECKING([for dependency tracking method])
BK_DEPS=""
if test "x$bk_use_trackdeps" = "xno" ; then
DEPS_TRACKING=0
AC_MSG_RESULT([disabled])
else
DEPS_TRACKING=1
if test "x$GCC" = "xyes"; then
DEPSMODE=gcc
case "${BAKEFILE_HOST}" in
*-*-darwin* )
dnl -cpp-precomp (the default) conflicts with -MMD option
dnl used by bk-deps (see also http://developer.apple.com/documentation/Darwin/Conceptual/PortingUnix/compiling/chapter_4_section_3.html)
DEPSFLAG="-no-cpp-precomp -MMD"
;;
* )
DEPSFLAG="-MMD"
;;
esac
AC_MSG_RESULT([gcc])
elif test "x$MWCC" = "xyes"; then
DEPSMODE=mwcc
DEPSFLAG="-MM"
AC_MSG_RESULT([mwcc])
elif test "x$SUNCC" = "xyes"; then
DEPSMODE=unixcc
DEPSFLAG="-xM1"
AC_MSG_RESULT([Sun cc])
elif test "x$SGICC" = "xyes"; then
DEPSMODE=unixcc
DEPSFLAG="-M"
AC_MSG_RESULT([SGI cc])
elif test "x$HPCC" = "xyes"; then
DEPSMODE=unixcc
DEPSFLAG="+make"
AC_MSG_RESULT([HP cc])
elif test "x$COMPAQCC" = "xyes"; then
DEPSMODE=gcc
DEPSFLAG="-MD"
AC_MSG_RESULT([Compaq cc])
else
DEPS_TRACKING=0
AC_MSG_RESULT([none])
fi
if test $DEPS_TRACKING = 1 ; then
AC_BAKEFILE_CREATE_FILE_BK_DEPS
chmod +x bk-deps
dnl FIXME: make this $(top_builddir)/bk-deps once autoconf-2.60
dnl is required (and so top_builddir is never empty):
BK_DEPS="`pwd`/bk-deps"
fi
fi
AC_SUBST(DEPS_TRACKING)
AC_SUBST(BK_DEPS)
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_CHECK_BASIC_STUFF
dnl
dnl Checks for presence of basic programs, such as C and C++ compiler, "ranlib"
dnl or "install"
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_CHECK_BASIC_STUFF],
[
AC_PROG_RANLIB
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_SUBST(MAKE_SET)
if test "x$SUNCXX" = "xyes"; then
dnl Sun C++ compiler requires special way of creating static libs;
dnl see here for more details:
dnl https://sourceforge.net/tracker/?func=detail&atid=109863&aid=1229751&group_id=9863
AR=$CXX
AROPTIONS="-xar -o"
AC_SUBST(AR)
elif test "x$SGICC" = "xyes"; then
dnl Almost the same as above for SGI mipsPro compiler
AR=$CXX
AROPTIONS="-ar -o"
AC_SUBST(AR)
else
AC_CHECK_TOOL(AR, ar, ar)
AROPTIONS=rcu
fi
AC_SUBST(AROPTIONS)
AC_CHECK_TOOL(STRIP, strip, :)
AC_CHECK_TOOL(NM, nm, :)
dnl This check is necessary because "install -d" doesn't exist on
dnl all platforms (e.g. HP/UX), see http://www.bakefile.org/ticket/80
AC_MSG_CHECKING([for command to install directories])
INSTALL_TEST_DIR=acbftest$$
$INSTALL -d $INSTALL_TEST_DIR > /dev/null 2>&1
if test $? = 0 -a -d $INSTALL_TEST_DIR; then
rmdir $INSTALL_TEST_DIR
dnl we must refer to makefile's $(INSTALL) variable and not
dnl current value of shell variable, hence the single quoting:
INSTALL_DIR='$(INSTALL) -d'
AC_MSG_RESULT([$INSTALL -d])
else
INSTALL_DIR="mkdir -p"
AC_MSG_RESULT([mkdir -p])
fi
AC_SUBST(INSTALL_DIR)
LDFLAGS_GUI=
case ${BAKEFILE_HOST} in
*-*-cygwin* | *-*-mingw32* )
LDFLAGS_GUI="-mwindows"
esac
AC_SUBST(LDFLAGS_GUI)
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_RES_COMPILERS
dnl
dnl Checks for presence of resource compilers for win32 or mac
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_RES_COMPILERS],
[
case ${BAKEFILE_HOST} in
*-*-cygwin* | *-*-mingw32* )
dnl Check for win32 resources compiler:
AC_CHECK_TOOL(WINDRES, windres)
;;
*-*-darwin* | powerpc-apple-macos* )
AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
;;
esac
AC_SUBST(WINDRES)
AC_SUBST(REZ)
AC_SUBST(SETFILE)
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE_PRECOMP_HEADERS
dnl
dnl Check for precompiled headers support (GCC >= 3.4)
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
[
AC_ARG_ENABLE([precomp-headers],
AS_HELP_STRING([--disable-precomp-headers],
[don't use precompiled headers even if compiler can]),
[bk_use_pch="$enableval"])
GCC_PCH=0
ICC_PCH=0
USE_PCH=0
BK_MAKE_PCH=""
case ${BAKEFILE_HOST} in
*-*-cygwin* )
dnl PCH support is broken in cygwin gcc because of unportable
dnl assumptions about mmap() in gcc code which make PCH generation
dnl fail erratically; disable PCH completely until this is fixed
bk_use_pch="no"
;;
esac
if test "x$bk_use_pch" = "x" -o "x$bk_use_pch" = "xyes" ; then
if test "x$GCC" = "xyes"; then
dnl test if we have gcc-3.4:
AC_MSG_CHECKING([if the compiler supports precompiled headers])
AC_TRY_COMPILE([],
[
#if !defined(__GNUC__) || !defined(__GNUC_MINOR__)
There is no PCH support
#endif
#if (__GNUC__ < 3)
There is no PCH support
#endif
#if (__GNUC__ == 3) && \
((!defined(__APPLE_CC__) && (__GNUC_MINOR__ < 4)) || \
( defined(__APPLE_CC__) && (__GNUC_MINOR__ < 3))) || \
( defined(__INTEL_COMPILER) )
There is no PCH support
#endif
],
[
AC_MSG_RESULT([yes])
GCC_PCH=1
],
[
if test "$INTELCXX8" = "yes"; then
AC_MSG_RESULT([yes])
ICC_PCH=1
if test "$INTELCXX10" = "yes"; then
ICC_PCH_CREATE_SWITCH="-pch-create"
ICC_PCH_USE_SWITCH="-pch-use"
else
ICC_PCH_CREATE_SWITCH="-create-pch"
ICC_PCH_USE_SWITCH="-use-pch"
fi
else
AC_MSG_RESULT([no])
fi
])
if test $GCC_PCH = 1 -o $ICC_PCH = 1 ; then
USE_PCH=1
AC_BAKEFILE_CREATE_FILE_BK_MAKE_PCH
chmod +x bk-make-pch
dnl FIXME: make this $(top_builddir)/bk-make-pch once
dnl autoconf-2.60 is required (and so top_builddir is
dnl never empty):
BK_MAKE_PCH="`pwd`/bk-make-pch"
fi
fi
fi
AC_SUBST(GCC_PCH)
AC_SUBST(ICC_PCH)
AC_SUBST(ICC_PCH_CREATE_SWITCH)
AC_SUBST(ICC_PCH_USE_SWITCH)
AC_SUBST(BK_MAKE_PCH)
])
dnl ---------------------------------------------------------------------------
dnl AC_BAKEFILE([autoconf_inc.m4 inclusion])
dnl
dnl To be used in configure.in of any project using Bakefile-generated mks
dnl
dnl Behaviour can be modified by setting following variables:
dnl BAKEFILE_CHECK_BASICS set to "no" if you don't want bakefile to
dnl to perform check for basic tools like ranlib
dnl BAKEFILE_HOST set this to override host detection, defaults
dnl to ${host}
dnl BAKEFILE_FORCE_PLATFORM set to override platform detection
dnl
dnl Example usage:
dnl
dnl AC_BAKEFILE([FOO(autoconf_inc.m4)])
dnl
dnl (replace FOO with m4_include above, aclocal would die otherwise)
dnl (yes, it's ugly, but thanks to a bug in aclocal, it's the only thing
dnl we can do...)
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE],
[
AC_PREREQ([2.58])
dnl We need to always run C/C++ compiler tests, but it's also possible
dnl for the user to call these macros manually, hence this instead of
dnl simply calling these macros. See http://www.bakefile.org/ticket/64
AC_REQUIRE([AC_BAKEFILE_PROG_CC])
AC_REQUIRE([AC_BAKEFILE_PROG_CXX])
if test "x$BAKEFILE_HOST" = "x"; then
if test "x${host}" = "x" ; then
AC_MSG_ERROR([You must call the autoconf "CANONICAL_HOST" macro in your configure.ac (or .in) file.])
fi
BAKEFILE_HOST="${host}"
fi
if test "x$BAKEFILE_CHECK_BASICS" != "xno"; then
AC_BAKEFILE_CHECK_BASIC_STUFF
fi
AC_BAKEFILE_GNUMAKE
AC_BAKEFILE_PLATFORM
AC_BAKEFILE_PLATFORM_SPECIFICS
AC_BAKEFILE_SUFFIXES
AC_BAKEFILE_SHARED_LD
AC_BAKEFILE_SHARED_VERSIONS
AC_BAKEFILE_DEPS
AC_BAKEFILE_RES_COMPILERS
dnl OBJCFLAGS is set by Autoconf, but OBJCXXFLAGS is not:
AC_SUBST(OBJCXXFLAGS)
BAKEFILE_BAKEFILE_M4_VERSION="0.2.9"
dnl includes autoconf_inc.m4:
$1
if test "$BAKEFILE_AUTOCONF_INC_M4_VERSION" = "" ; then
AC_MSG_ERROR([No version found in autoconf_inc.m4 - bakefile macro was changed to take additional argument, perhaps configure.in wasn't updated (see the documentation)?])
fi
if test "$BAKEFILE_BAKEFILE_M4_VERSION" != "$BAKEFILE_AUTOCONF_INC_M4_VERSION" ; then
AC_MSG_ERROR([Versions of Bakefile used to generate makefiles ($BAKEFILE_AUTOCONF_INC_M4_VERSION) and configure ($BAKEFILE_BAKEFILE_M4_VERSION) do not match.])
fi
])
dnl ---------------------------------------------------------------------------
dnl Embedded copies of helper scripts follow:
dnl ---------------------------------------------------------------------------
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_DEPS],
[
dnl ===================== bk-deps begins here =====================
dnl (Created by merge-scripts.py from bk-deps
dnl file do not edit here!)
D='$'
cat <bk-deps
#!/bin/sh
# This script is part of Bakefile (http://www.bakefile.org) autoconf
# script. It is used to track C/C++ files dependencies in portable way.
#
# Permission is given to use this file in any way.
DEPSMODE=${DEPSMODE}
DEPSFLAG="${DEPSFLAG}"
DEPSDIRBASE=.deps
if test ${D}DEPSMODE = gcc ; then
${D}* ${D}{DEPSFLAG}
status=${D}?
# determine location of created files:
while test ${D}# -gt 0; do
case "${D}1" in
-o )
shift
objfile=${D}1
;;
-* )
;;
* )
srcfile=${D}1
;;
esac
shift
done
objfilebase=\`basename ${D}objfile\`
builddir=\`dirname ${D}objfile\`
depfile=\`basename ${D}srcfile | sed -e 's/\\..*${D}/.d/g'\`
depobjname=\`echo ${D}depfile |sed -e 's/\\.d/.o/g'\`
depsdir=${D}builddir/${D}DEPSDIRBASE
mkdir -p ${D}depsdir
# if the compiler failed, we're done:
if test ${D}{status} != 0 ; then
rm -f ${D}depfile
exit ${D}{status}
fi
# move created file to the location we want it in:
if test -f ${D}depfile ; then
sed -e "s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{depsdir}/${D}{objfilebase}.d
rm -f ${D}depfile
else
# "g++ -MMD -o fooobj.o foosrc.cpp" produces fooobj.d
depfile=\`echo "${D}objfile" | sed -e 's/\\..*${D}/.d/g'\`
if test ! -f ${D}depfile ; then
# "cxx -MD -o fooobj.o foosrc.cpp" creates fooobj.o.d (Compaq C++)
depfile="${D}objfile.d"
fi
if test -f ${D}depfile ; then
sed -e "\\,^${D}objfile,!s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{depsdir}/${D}{objfilebase}.d
rm -f ${D}depfile
fi
fi
exit 0
elif test ${D}DEPSMODE = mwcc ; then
${D}* || exit ${D}?
# Run mwcc again with -MM and redirect into the dep file we want
# NOTE: We can't use shift here because we need ${D}* to be valid
prevarg=
for arg in ${D}* ; do
if test "${D}prevarg" = "-o"; then
objfile=${D}arg
else
case "${D}arg" in
-* )
;;
* )
srcfile=${D}arg
;;
esac
fi
prevarg="${D}arg"
done
objfilebase=\`basename ${D}objfile\`
builddir=\`dirname ${D}objfile\`
depsdir=${D}builddir/${D}DEPSDIRBASE
mkdir -p ${D}depsdir
${D}* ${D}DEPSFLAG >${D}{depsdir}/${D}{objfilebase}.d
exit 0
elif test ${D}DEPSMODE = unixcc; then
${D}* || exit ${D}?
# Run compiler again with deps flag and redirect into the dep file.
# It doesn't work if the '-o FILE' option is used, but without it the
# dependency file will contain the wrong name for the object. So it is
# removed from the command line, and the dep file is fixed with sed.
cmd=""
while test ${D}# -gt 0; do
case "${D}1" in
-o )
shift
objfile=${D}1
;;
* )
eval arg${D}#=\\${D}1
cmd="${D}cmd \\${D}arg${D}#"
;;
esac
shift
done
objfilebase=\`basename ${D}objfile\`
builddir=\`dirname ${D}objfile\`
depsdir=${D}builddir/${D}DEPSDIRBASE
mkdir -p ${D}depsdir
eval "${D}cmd ${D}DEPSFLAG" | sed "s|.*:|${D}objfile:|" >${D}{depsdir}/${D}{objfilebase}.d
exit 0
else
${D}*
exit ${D}?
fi
EOF
dnl ===================== bk-deps ends here =====================
])
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_SHARED_LD_SH],
[
dnl ===================== shared-ld-sh begins here =====================
dnl (Created by merge-scripts.py from shared-ld-sh
dnl file do not edit here!)
D='$'
cat <shared-ld-sh
#!/bin/sh
#-----------------------------------------------------------------------------
#-- Name: distrib/mac/shared-ld-sh
#-- Purpose: Link a mach-o dynamic shared library for Darwin / Mac OS X
#-- Author: Gilles Depeyrot
#-- Copyright: (c) 2002 Gilles Depeyrot
#-- Licence: any use permitted
#-----------------------------------------------------------------------------
verbose=0
args=""
objects=""
linking_flag="-dynamiclib"
ldargs="-r -keep_private_externs -nostdlib"
if test "x${D}CXX" = "x"; then
CXX="c++"
fi
while test ${D}# -gt 0; do
case ${D}1 in
-v)
verbose=1
;;
-o|-compatibility_version|-current_version|-framework|-undefined|-install_name)
# collect these options and values
args="${D}{args} ${D}1 ${D}2"
shift
;;
-arch|-isysroot)
# collect these options and values
ldargs="${D}{ldargs} ${D}1 ${D}2"
shift
;;
-s|-Wl,*)
# collect these load args
ldargs="${D}{ldargs} ${D}1"
;;
-l*|-L*|-flat_namespace|-headerpad_max_install_names)
# collect these options
args="${D}{args} ${D}1"
;;
-dynamiclib|-bundle)
linking_flag="${D}1"
;;
-*)
echo "shared-ld: unhandled option '${D}1'"
exit 1
;;
*.o | *.a | *.dylib)
# collect object files
objects="${D}{objects} ${D}1"
;;
*)
echo "shared-ld: unhandled argument '${D}1'"
exit 1
;;
esac
shift
done
status=0
#
# Link one module containing all the others
#
if test ${D}{verbose} = 1; then
echo "${D}CXX ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o"
fi
${D}CXX ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o
status=${D}?
#
# Link the shared library from the single module created, but only if the
# previous command didn't fail:
#
if test ${D}{status} = 0; then
if test ${D}{verbose} = 1; then
echo "${D}CXX ${D}{linking_flag} master.${D}${D}.o ${D}{args}"
fi
${D}CXX ${D}{linking_flag} master.${D}${D}.o ${D}{args}
status=${D}?
fi
#
# Remove intermediate module
#
rm -f master.${D}${D}.o
exit ${D}status
EOF
dnl ===================== shared-ld-sh ends here =====================
])
AC_DEFUN([AC_BAKEFILE_CREATE_FILE_BK_MAKE_PCH],
[
dnl ===================== bk-make-pch begins here =====================
dnl (Created by merge-scripts.py from bk-make-pch
dnl file do not edit here!)
D='$'
cat <bk-make-pch
#!/bin/sh
# This script is part of Bakefile (http://www.bakefile.org) autoconf
# script. It is used to generated precompiled headers.
#
# Permission is given to use this file in any way.
outfile="${D}{1}"
header="${D}{2}"
shift
shift
builddir=\`echo ${D}outfile | sed -e 's,/\\.pch/.*${D},,g'\`
compiler=""
headerfile=""
while test ${D}{#} -gt 0; do
add_to_cmdline=1
case "${D}{1}" in
-I* )
incdir=\`echo ${D}{1} | sed -e 's/-I\\(.*\\)/\\1/g'\`
if test "x${D}{headerfile}" = "x" -a -f "${D}{incdir}/${D}{header}" ; then
headerfile="${D}{incdir}/${D}{header}"
fi
;;
-use-pch|-use_pch|-pch-use )
shift
add_to_cmdline=0
;;
esac
if test ${D}add_to_cmdline = 1 ; then
compiler="${D}{compiler} ${D}{1}"
fi
shift
done
if test "x${D}{headerfile}" = "x" ; then
echo "error: can't find header ${D}{header} in include paths" >&2
else
if test -f ${D}{outfile} ; then
rm -f ${D}{outfile}
else
mkdir -p \`dirname ${D}{outfile}\`
fi
depsfile="${D}{builddir}/.deps/\`echo ${D}{outfile} | tr '/.' '__'\`.d"
mkdir -p ${D}{builddir}/.deps
if test "x${GCC_PCH}" = "x1" ; then
# can do this because gcc is >= 3.4:
${D}{compiler} -o ${D}{outfile} -MMD -MF "${D}{depsfile}" "${D}{headerfile}"
elif test "x${ICC_PCH}" = "x1" ; then
filename=pch_gen-${D}${D}
file=${D}{filename}.c
dfile=${D}{filename}.d
cat > ${D}file < ${D}depsfile && \\
rm -f ${D}file ${D}dfile ${D}{filename}.o
fi
exit ${D}{?}
fi
EOF
dnl ===================== bk-make-pch ends here =====================
])
flamerobin_0.9.3~svn+2220.orig/autoconf_inc.m4 0000664 0000000 0000000 00000007767 11770571553 0021135 0 ustar 00root root 0000000 0000000 dnl ### begin block 00_header[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
dnl
dnl This macro was generated by
dnl Bakefile 0.2.9 (http://www.bakefile.org)
dnl Do not modify, all changes will be overwritten!
BAKEFILE_AUTOCONF_INC_M4_VERSION="0.2.9"
dnl ### begin block 10_AC_BAKEFILE_PRECOMP_HEADERS[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
AC_BAKEFILE_PRECOMP_HEADERS
dnl ### begin block 20_COND_DEPS_TRACKING_0[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_DEPS_TRACKING_0="#"
if test "x$DEPS_TRACKING" = "x0" ; then
COND_DEPS_TRACKING_0=""
fi
AC_SUBST(COND_DEPS_TRACKING_0)
dnl ### begin block 20_COND_DEPS_TRACKING_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_DEPS_TRACKING_1="#"
if test "x$DEPS_TRACKING" = "x1" ; then
COND_DEPS_TRACKING_1=""
fi
AC_SUBST(COND_DEPS_TRACKING_1)
dnl ### begin block 20_COND_FINAL_0[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_FINAL_0="#"
if test "x$FINAL" = "x0" ; then
COND_FINAL_0=""
fi
AC_SUBST(COND_FINAL_0)
dnl ### begin block 20_COND_FINAL_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_FINAL_1="#"
if test "x$FINAL" = "x1" ; then
COND_FINAL_1=""
fi
AC_SUBST(COND_FINAL_1)
dnl ### begin block 20_COND_GCC_PCH_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_GCC_PCH_1="#"
if test "x$GCC_PCH" = "x1" ; then
COND_GCC_PCH_1=""
fi
AC_SUBST(COND_GCC_PCH_1)
dnl ### begin block 20_COND_ICC_PCH_1[./flamerobin.bkl,flamerobin.bkl] ###
COND_ICC_PCH_1="#"
if test "x$ICC_PCH" = "x1" ; then
COND_ICC_PCH_1=""
fi
AC_SUBST(COND_ICC_PCH_1)
dnl ### begin block 20_COND_PLATFORM_MACOSX_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_PLATFORM_MACOSX_1="#"
if test "x$PLATFORM_MACOSX" = "x1" ; then
COND_PLATFORM_MACOSX_1=""
fi
AC_SUBST(COND_PLATFORM_MACOSX_1)
dnl ### begin block 20_COND_PLATFORM_MAC_0[flamerobin.bkl] ###
COND_PLATFORM_MAC_0="#"
if test "x$PLATFORM_MAC" = "x0" ; then
COND_PLATFORM_MAC_0=""
fi
AC_SUBST(COND_PLATFORM_MAC_0)
dnl ### begin block 20_COND_PLATFORM_MAC_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_PLATFORM_MAC_1="#"
if test "x$PLATFORM_MAC" = "x1" ; then
COND_PLATFORM_MAC_1=""
fi
AC_SUBST(COND_PLATFORM_MAC_1)
dnl ### begin block 20_COND_PLATFORM_OS2_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_PLATFORM_OS2_1="#"
if test "x$PLATFORM_OS2" = "x1" ; then
COND_PLATFORM_OS2_1=""
fi
AC_SUBST(COND_PLATFORM_OS2_1)
dnl ### begin block 20_COND_PLATFORM_UNIX_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_PLATFORM_UNIX_1="#"
if test "x$PLATFORM_UNIX" = "x1" ; then
COND_PLATFORM_UNIX_1=""
fi
AC_SUBST(COND_PLATFORM_UNIX_1)
dnl ### begin block 20_COND_PLATFORM_WIN32_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_PLATFORM_WIN32_1="#"
if test "x$PLATFORM_WIN32" = "x1" ; then
COND_PLATFORM_WIN32_1=""
fi
AC_SUBST(COND_PLATFORM_WIN32_1)
dnl ### begin block 20_COND_STATICRTL_0[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_STATICRTL_0="#"
if test "x$STATICRTL" = "x0" ; then
COND_STATICRTL_0=""
fi
AC_SUBST(COND_STATICRTL_0)
dnl ### begin block 20_COND_STATICRTL_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_STATICRTL_1="#"
if test "x$STATICRTL" = "x1" ; then
COND_STATICRTL_1=""
fi
AC_SUBST(COND_STATICRTL_1)
dnl ### begin block 20_COND_UNICODE_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_UNICODE_1="#"
if test "x$UNICODE" = "x1" ; then
COND_UNICODE_1=""
fi
AC_SUBST(COND_UNICODE_1)
dnl ### begin block 20_COND_USEDLL_1[./flamerobin.bkl,flamerobin.bkl,ibpp.bkl] ###
COND_USEDLL_1="#"
if test "x$USEDLL" = "x1" ; then
COND_USEDLL_1=""
fi
AC_SUBST(COND_USEDLL_1)
dnl ### begin block 20_COND_USE_PCH_1[./flamerobin.bkl,flamerobin.bkl] ###
COND_USE_PCH_1="#"
if test "x$USE_PCH" = "x1" ; then
COND_USE_PCH_1=""
fi
AC_SUBST(COND_USE_PCH_1)
flamerobin_0.9.3~svn+2220.orig/bakefile_gen_vs2010.cmd 0000664 0000000 0000000 00000000476 11770571553 0022305 0 ustar 00root root 0000000 0000000 @rem - Bakefile_gen will generate flamerobin.sln and *.vcproj files.
@rem - This script also creates a copy of flamerobin.sln under
@rem - flamerobin_vs2010.sln. Open flamerobin_vs2010.sln in
@rem - Visual Studio 2010 and it will convert and create *.vcxproj.
@bakefile_gen
@copy flamerobin.sln flamerobin_vs2010.sln
flamerobin_0.9.3~svn+2220.orig/code-templates/ 0000775 0000000 0000000 00000000000 11770571553 0021111 5 ustar 00root root 0000000 0000000 flamerobin_0.9.3~svn+2220.orig/code-templates/create_change_trigger.confdef 0000664 0000000 0000000 00000001477 11770571553 0026743 0 ustar 00root root 0000000 0000000
If checked the system tables for this database will be shown in the treeShowSystemTables1
Connection
3
Warn when connection charset is different from database charset
differentCharsetWarning1
Logging
1
Exclude this database from global logging
If checked only settings on this screen would work.ExcludeFromGlobalLogging1
Log DML statements
Should the logging work for DML statements too. If unchecked only DDL statements are logged.LogDML0
Enable logging to file
Logs all successful DDL statements to fileLogToFile0
Log file name:
For multiple files place %d mark where you want numbers to be inserted. If you wish leading zeros use %0xd, where x is a number of digits (ex. %02d)LogFile
Use multiple files
LogToFileType0
Incremental file numbers start at:
IncrementalLogFileStart0100001
Add header to each statement
Should logging add a header showing the context in which statement was run: FlameRobin version, database, username, timestampLoggingAddHeader1
Add SET TERM when different terminator is used in editor
LogSetTerm0
Enable logging to database
Logs all successful DDL statements to database. This will create a table named FLAMEROBIN$LOG in the databases.LogToDatabase0
Use custom select instead of generator
If not checked, FLAMEROBIN$GEN generator will be used.LoggingUsesCustomSelect0
Custom select:
The following statement will be used to obtain change ID.LoggingCustomSelectSELECT 1+MAX(ID) FROM FLAMEROBIN$LOG11
flamerobin_0.9.3~svn+2220.orig/conf-defs/fr_settings.confdef 0000664 0000000 0000000 00000057353 11770571553 0023741 0 ustar 00root root 0000000 0000000
General
3
Center dialogs on their parent window
centerDialogOnParent1
Remember window positions and sizes
Newly created windows get previous size and positionFrameStorage1
Metadata properties windows
Select how size and position of metadata properties windows should be storedMetadataFrameStorageGranularity0
Main Tree View
2
Sort server entries alphabetically
If unchecked the server entries will be shown in registration order.OrderServersInTree0
Sort database entries alphabetically
If unchecked the database entries will be shown in registration order.OrderDatabasesInTree0
Show system roles in tree (Firebird 2.5 and later)
If checked the system roles will be shown in the tree by default (can be overridden per database)ShowSystemRoles0
Show system tables in tree
If checked the system tables will be shown in the tree by default (can be overridden per database)ShowSystemTables1
Show columns and parameters in tree
If checked the table and view columns and stored procedure parameters will be shown in the treeShowColumnsInTree1
Show the column/parameter count for relations/procedures
If checked the number of relation columns and the number of stored procedure parameters will be shown in the node textShowColumnAndParameterCountInTree0
When table, view or stored procedure is activated
OnTreeActivate0
Allow drag and drop query building
This option can cause X11 lockup on Linux if you don't have patched version of wxWidgetsallowDragAndDrop0
SQL Editor
0
Automatically commit DDL statements
autoCommitDDL0
When text is selected in editor
OnlyExecuteSelected0
Treat selected text as a single statement
If unchecked the parser will search the selected text for multiple statementsTreatAsSingleStatement0
Clear the messages when executing new statements
SQLEditorExecuteClears0
Display detailed query statistics
SQLEditorShowStats1
Enable call-tips for procedures and functions
Shows call-tips for stored procedures and UDFs when bracket is openedSQLEditorCalltips1
Show long line marker
Whether a vertical line showing the edge of text is shownsqlEditorShowEdge1
Draw long line marker after column [VALUE]
sqlEditorEdgeColumn80
Tab size
sqlEditorTabSize4
Home key positions on first non-whitespace character in line
sqlEditorSmartHomeKey1
Auto-indent new lines to same level as previous line
sqlEditorAutoIndent1
Code Completion
SQL Code Completion0
Enable automatic invocation of completion list
AutocompleteEnabled1
Show completion list after [VALUE] chars
AutocompleteChars1103
Disable while calltip is shown
AutoCompleteDisableWhenCalltipShown1
Allow auto-completion inside quoted text
autoCompleteQuoted1
Manually invoke completion list on
AutoCompleteKey0
Confirm completion with Enter
AutoCompleteWithEnter1
Load columns when required for completion
autoCompleteLoadColumns1
Statement History
History of Executed SQL Statements0
Share SQL statement history
History can be shared accross databases, which is useful if they have similar structurestatementHistoryGranularity2
Limit history item size
limitHistoryItemSize0
Don't store buffers bigger than [VALUE] kilobytes
statementHistoryItemSize010000500
Remember unsuccessfully executed buffers
historyStoreUnsuccessful1
Remember statements generated by FlameRobin
If unchecked, stores only the statements typed by userhistoryStoreGenerated1
Window Title
SQL Editor Window Title0
SQL keywords are shown in window title
Keywords like SELECT, INSERT, CREATE, etc. can be abbreviated so more text can fit in the title and taskbar entrysqlEditorWindowKeywords1
Data Grid
4
Date format:
The following letters will be replaced: d - day of month, 1-31 D - day of month, 01-31 m - month, 1-12 M - month, 01-12 y - year, 00-99 Y - year, 0000-9999 All other characters are copied.DateFormatD.M.Y1
Time format:
The following letters will be replaced: h - hour, 0-24 H - hour, 00-24 m - minute, 0-59 M - minute, 00-59 s - second, 0-59 S - second, 00-59 T - millisecond, 000-999 All other characters are copied.TimeFormatH:M:S.T1
Timestamp format:
The following letters will be replaced: d - day of month, 1-31 D - day of month, 01-31 n - month, 1-12 N - month, 01-12 y - year, 00-99 Y - year, 0000-9999 h - hour, 0-24 H - hour, 00-24 m - minute, 0-59 M - minute, 00-59 s - second, 0-59 S - second, 00-59 T - millisecond, 000-999 All other characters are copied.TimestampFormatD.N.Y, H:M:S.T11
Grid header font:
DataGridHeaderFont1
Grid cell font:
DataGridFont1
Re-format float and double precision numbers
If unchecked, prints decimal numbers as returned from serverReformatNumbers0
Number of decimals:
NumberPrecision0182
Maximize data grid after execution of SELECT statement
SelectMaximizeGrid0
Only when result set has more than [VALUE] records
MaximizeGridRowsNeeded01000010
Automatically fetch all records in result set
GridFetchAllRecords0
Show BLOB data in the grid
DataGridFetchBlobs1
Fetch up to [VALUE] kilobytes
DataGridFetchBlobAmount0160001
Show data for binary BLOBs
GridShowBinaryBlobs0
Property Pages
4
Show default column values
displayColumnDefault1
Show column descriptions
displayColumnDescription1
Show source for all triggers
displayTriggerSource1
Open in tabs
linksOpenInTabs1
Sql Statement Generation
5
Use UPPER CASE keywords
SQLKeywordsUpperCase1
Quote names only when needed
quoteOnlyWhenNeeded1
Quote names in mixed case (both upper case and lower case characters)
quoteMixedCase0
Treat quote characters like other characters
quoteCharsAreRegular0
Fields
5
When a column has a user-defined domain
ShowDomains2
When a table column is computed
ShowComputed1
Logging
1
Log DML statements
Should the logging work for DML statements too. If unchecked only DDL statements are logged.LogDML0
Enable logging to file
Logs all successful DDL statements to fileLogToFile0
Log file name:
For multiple files place %d mark where you want numbers to be inserted. If you wish leading zeros use %0xd, where x is a number of digits (ex. %02d)LogFile
Use multiple files
LogToFileType0
Incremental file numbers start at:
IncrementalLogFileStart0100001
Add header to each statement
Should logging add a header showing the context in which statement was run: FlameRobin version, database, username, timestampLoggingAddHeader1
Add SET TERM when different terminator is used in editor
LogSetTerm0
flamerobin_0.9.3~svn+2220.orig/config.guess 0000775 0000000 0000000 00000124013 11770571553 0020524 0 ustar 00root root 0000000 0000000 #! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2004-01-24'
# 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.
# Originally written by Per Bothner .
# Please send patches to . Submit a context
# diff and a properly formatted ChangeLog entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit build system type.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;;
--version | -v )
echo "$version" ; exit 0 ;;
--help | --h* | -h )
echo "$usage"; exit 0 ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help" >&2
exit 1 ;;
* )
break ;;
esac
done
if test $# != 0; then
echo "$me: too many arguments$help" >&2
exit 1
fi
trap 'exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
# compatibility and a consistent mechanism for selecting the
# object file format.
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep __ELF__ >/dev/null
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
os=netbsd
else
os=netbsdelf
fi
;;
*)
os=netbsd
;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
case "${UNAME_VERSION}" in
Debian*)
release='-gnu'
;;
*)
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
macppc:OpenBSD:*:*)
echo powerpc-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 ;;
mvmeppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pegasos:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mipseb-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
fi
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
UNAME_MACHINE="alpha" ;;
"EV4.5 (21064)")
UNAME_MACHINE="alpha" ;;
"LCA4 (21066/21068)")
UNAME_MACHINE="alpha" ;;
"EV5 (21164)")
UNAME_MACHINE="alphaev5" ;;
"EV5.6 (21164A)")
UNAME_MACHINE="alphaev56" ;;
"EV5.6 (21164PC)")
UNAME_MACHINE="alphapca56" ;;
"EV5.7 (21164PC)")
UNAME_MACHINE="alphapca57" ;;
"EV6 (21264)")
UNAME_MACHINE="alphaev6" ;;
"EV6.7 (21264A)")
UNAME_MACHINE="alphaev67" ;;
"EV6.8CB (21264C)")
UNAME_MACHINE="alphaev68" ;;
"EV6.8AL (21264B)")
UNAME_MACHINE="alphaev68" ;;
"EV6.8CX (21264D)")
UNAME_MACHINE="alphaev68" ;;
"EV6.9A (21264/EV69A)")
UNAME_MACHINE="alphaev69" ;;
"EV7 (21364)")
UNAME_MACHINE="alphaev7" ;;
"EV7.9 (21364A)")
UNAME_MACHINE="alphaev79" ;;
esac
# 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.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha*:OpenVMS:*:*)
echo alpha-hp-vms
exit 0 ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit 0 ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
exit 0;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
exit 0 ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
exit 0 ;;
*:OS/390:*:*)
echo i370-ibm-openedition
exit 0 ;;
*:OS400:*:*)
echo powerpc-ibm-os400
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit 0 ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
exit 0 ;;
DRS?6000:UNIX_SV:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7 && exit 0 ;;
esac ;;
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=`(sed 1q /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 ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
exit 0 ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
exit 0 ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit 0 ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus
#include /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c \
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& exit 0
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
exit 0 ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit 0 ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit 0 ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit 0 ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit 0 ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit 0 ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
[ ${TARGET_BINARY_INTERFACE}x = x ]
then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
exit 0 ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit 0 ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit 0 ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit 0 ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit 0 ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit 0 ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
exit 0 ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit 0 ;;
*:AIX:*:[45])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit 0 ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit 0 ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit 0 ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit 0 ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit 0 ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit 0 ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit 0 ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
32) HP_ARCH="hppa2.0n" ;;
64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
esac ;;
esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#define _HPUX_SOURCE
#include
#include
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
# avoid double evaluation of $set_cc_for_build
test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
then
HP_ARCH="hppa2.0w"
else
HP_ARCH="hppa64"
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit 0 ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit 0 ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit 0 ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
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*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
*:UNICOS/mp:*:*)
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
# Determine whether the default compiler uses glibc.
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
#if __GLIBC__ >= 2
LIBC=gnu
#else
LIBC=
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
# GNU/KFreeBSD systems have a "k" prefix to indicate we are using
# FreeBSD's kernel, but not the complete OS.
case ${LIBC} in gnu) kernel_only='k' ;; esac
echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit 0 ;;
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit 0 ;;
x86:Interix*:[34]*)
echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
exit 0 ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit 0 ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
exit 0 ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit 0 ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
# the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
exit 0 ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit 0 ;;
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
exit 0 ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
mips:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef mips
#undef mipsel
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mipsel
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips
#else
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;;
mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef mips64
#undef mips64el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mips64el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips64
#else
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu
exit 0 ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-gnu
exit 0 ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
PCA57) UNAME_MACHINE=alphapca56 ;;
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
exit 0 ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA7*) echo hppa1.1-unknown-linux-gnu ;;
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
exit 0 ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-gnu
exit 0 ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
exit 0 ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit 0 ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path.
# Set LC_ALL=C to ensure ld outputs messages in English.
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
| sed -ne '/supported targets:/!d
s/[ ][ ]*/ /g
s/.*supported targets: *//
s/ .*//
p'`
case "$ld_supported_targets" in
elf32-i386)
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
;;
a.out-i386-linux)
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
exit 0 ;;
coff-i386)
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
exit 0 ;;
"")
# Either a pre-BFD a.out linker (linux-gnuoldld) or
# one that does not give us useful --help.
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
exit 0 ;;
esac
# Determine whether the default compiler is a.out or elf
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
LIBC=gnu
# else
LIBC=gnulibc1
# endif
# else
LIBC=gnulibc1
# endif
#else
#ifdef __INTEL_COMPILER
LIBC=gnu
#else
LIBC=gnuaout
#endif
#endif
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
exit 0 ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit 0 ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
exit 0 ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit 0 ;;
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit 0 ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit 0 ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
exit 0 ;;
i*86:*:5:[78]*)
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
exit 0 ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
exit 0 ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit 0 ;;
paragon:*:*:*)
echo i860-intel-osf1
exit 0 ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit 0 ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit 0 ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
exit 0 ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4 && exit 0 ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit 0 ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says
echo i586-unisys-sysv4
exit 0 ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes .
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit 0 ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit 0 ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
exit 0 ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit 0 ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit 0 ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit 0 ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit 0 ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
exit 0 ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit 0 ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit 0 ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
exit 0 ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit 0 ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
*:Darwin:*:*)
case `uname -p` in
*86) UNAME_PROCESSOR=i686 ;;
powerpc) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit 0 ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
exit 0 ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit 0 ;;
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit 0 ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
exit 0 ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
exit 0 ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
if test "$cputype" = "386"; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
exit 0 ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
exit 0 ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
exit 0 ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
exit 0 ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
exit 0 ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
exit 0 ;;
*:ITS:*:*)
echo pdp10-unknown-its
exit 0 ;;
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
exit 0 ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
eval $set_cc_for_build
cat >$dummy.c <
# include
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd\n"); exit (0);
#else
#include
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
if (version < 4)
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
else
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach\n"); exit (0);
#else
printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2\n"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1\n"); exit (0);
}
printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
# if !defined (ultrix)
# include
# if defined (BSD)
# if BSD == 43
printf ("vax-dec-bsd4.3\n"); exit (0);
# else
# if BSD == 199006
printf ("vax-dec-bsd4.3reno\n"); exit (0);
# else
printf ("vax-dec-bsd\n"); exit (0);
# endif
# endif
# else
printf ("vax-dec-bsd\n"); exit (0);
# endif
# else
printf ("vax-dec-ultrix\n"); exit (0);
# endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd\n"); exit (0);
#endif
exit (1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit 0 ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
c34*)
echo c34-convex-bsd
exit 0 ;;
c38*)
echo c38-convex-bsd
exit 0 ;;
c4*)
echo c4-convex-bsd
exit 0 ;;
esac
fi
cat >&2 < in order to provide the needed
information to handle your system.
config.guess timestamp = $timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
hostinfo = `(hostinfo) 2>/dev/null`
/bin/universe = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
UNAME_MACHINE = ${UNAME_MACHINE}
UNAME_RELEASE = ${UNAME_RELEASE}
UNAME_SYSTEM = ${UNAME_SYSTEM}
UNAME_VERSION = ${UNAME_VERSION}
EOF
exit 1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
flamerobin_0.9.3~svn+2220.orig/config.sub 0000775 0000000 0000000 00000074435 11770571553 0020203 0 ustar 00root root 0000000 0000000 #! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2004-01-05'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Please send patches to . Submit a context
# diff and a properly formatted ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS
$0 [OPTION] ALIAS
Canonicalize a configuration name.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;;
--version | -v )
echo "$version" ; exit 0 ;;
--help | --h* | -h )
echo "$usage"; exit 0 ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help"
exit 1 ;;
*local*)
# First pass through any local machine types.
echo $1
exit 0;;
* )
break ;;
esac
done
case $# in
0) echo "$me: missing argument$help" >&2
exit 1;;
1) ;;
*) echo "$me: too many arguments$help" >&2
exit 1;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-sun*os*)
# Prevent following clause from handling this invalid input.
;;
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple | -axis)
os=
basic_machine=$1
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
;;
-scout)
;;
-wrs)
os=-vxworks
basic_machine=$1
;;
-chorusos*)
os=-chorusos
basic_machine=$1
;;
-chorusrdb)
os=-chorusrdb
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-udk*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-lynx*)
os=-lynxos
;;
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;;
-psos*)
os=-psos
;;
-mint | -mint[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| m32r | m68000 | m68k | m88k | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64vr | mips64vrel \
| mips64orion | mips64orionel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| msp430 \
| ns16k | ns32k \
| openrisc | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
| strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
| x86 | xscale | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i*86 | x86_64)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
| bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
| m32r-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| mips64vr-* | mips64vrel-* \
| mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
| msp430-* \
| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
| xtensa-* \
| ymp-* \
| z8k-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-unknown
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
a29khif)
basic_machine=a29k-amd
os=-udi
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
am29k)
basic_machine=a29k-none
os=-bsd
;;
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
basic_machine=m68k-unknown
;;
amigaos | amigados)
basic_machine=m68k-unknown
os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-unknown
os=-sysv4
;;
apollo68)
basic_machine=m68k-apollo
os=-sysv
;;
apollo68bsd)
basic_machine=m68k-apollo
os=-bsd
;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
basic_machine=ns32k-sequent
os=-dynix
;;
c90)
basic_machine=c90-cray
os=-unicos
;;
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 | j90)
basic_machine=j90-cray
os=-unicos
;;
crds | unos)
basic_machine=m68k-crds
;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
decsystem10* | dec10*)
basic_machine=pdp10-dec
os=-tops10
;;
decsystem20* | dec20*)
basic_machine=pdp10-dec
os=-tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
;;
delta88)
basic_machine=m88k-motorola
os=-sysv3
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
basic_machine=m68k-bull
os=-sysv3
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;;
elxsi)
basic_machine=elxsi-elxsi
os=-bsd
;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
os=-ose
;;
fx2800)
basic_machine=i860-alliant
;;
genix)
basic_machine=ns32k-ns
;;
gmicro)
basic_machine=tron-gmicro
os=-sysv
;;
go32)
basic_machine=i386-pc
os=-go32
;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
h8300hms)
basic_machine=h8300-hitachi
os=-hms
;;
h8300xray)
basic_machine=h8300-hitachi
os=-xray
;;
h8500hms)
basic_machine=h8500-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
;;
hp300-*)
basic_machine=m68k-hp
;;
hp300bsd)
basic_machine=m68k-hp
os=-bsd
;;
hp300hpux)
basic_machine=m68k-hp
os=-hpux
;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k6[0-9][0-9] | hp6[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
basic_machine=hppa1.1-hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hppa-next)
os=-nextstep3
;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
;;
hppro)
basic_machine=hppa1.1-hp
os=-proelf
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i*86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i*86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i*86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
i386-vsta | vsta)
basic_machine=i386-unknown
os=-vsta
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
-irix*)
;;
*)
os=-irix4
;;
esac
;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
mingw32)
basic_machine=i386-pc
os=-mingw32
;;
miniframe)
basic_machine=m68000-convergent
;;
*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
mmix*)
basic_machine=mmix-knuth
os=-mmixware
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
;;
morphos)
basic_machine=powerpc-unknown
os=-morphos
;;
msdos)
basic_machine=i386-pc
os=-msdos
;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
netbsd386)
basic_machine=i386-unknown
os=-netbsd
;;
netwinder)
basic_machine=armv4l-rebel
os=-linux
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
news1000)
basic_machine=m68030-sony
os=-newsos
;;
news-3600 | risc-news)
basic_machine=mips-sony
os=-newsos
;;
necv70)
basic_machine=v70-nec
os=-sysv
;;
next | m*-next )
basic_machine=m68k-next
case $os in
-nextstep* )
;;
-ns2*)
os=-nextstep2
;;
*)
os=-nextstep3
;;
esac
;;
nh3000)
basic_machine=m68k-harris
os=-cxux
;;
nh[45]000)
basic_machine=m88k-harris
os=-cxux
;;
nindy960)
basic_machine=i960-intel
os=-nindy
;;
mon960)
basic_machine=i960-intel
os=-mon960
;;
nonstopux)
basic_machine=mips-compaq
os=-nonstopux
;;
np1)
basic_machine=np1-gould
;;
nv1)
basic_machine=nv1-cray
os=-unicosmp
;;
nsr-tandem)
basic_machine=nsr-tandem
;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
;;
or32 | or32-*)
basic_machine=or32-unknown
os=-coff
;;
os400)
basic_machine=powerpc-ibm
os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
;;
os68k)
basic_machine=m68k-none
os=-os68k
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
paragon)
basic_machine=i860-intel
os=-osf
;;
pbd)
basic_machine=sparc-tti
;;
pbb)
basic_machine=m68k-tti
;;
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
pentiumpro | p6 | 6x86 | athlon | athlon_*)
basic_machine=i686-pc
;;
pentiumii | pentium2 | pentiumiii | pentium3)
basic_machine=i686-pc
;;
pentium4)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium4-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
;;
power) basic_machine=power-ibm
;;
ppc) basic_machine=powerpc-unknown
;;
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
;;
pw32)
basic_machine=i586-unknown
os=-pw32
;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
s390 | s390-*)
basic_machine=s390-ibm
;;
s390x | s390x-*)
basic_machine=s390x-ibm
;;
sa29200)
basic_machine=a29k-amd
os=-udi
;;
sb1)
basic_machine=mipsisa64sb1-unknown
;;
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
sei)
basic_machine=mips-sei
os=-seiux
;;
sequent)
basic_machine=i386-sequent
;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sh64)
basic_machine=sh64-unknown
;;
sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
;;
spur)
basic_machine=spur-unknown
;;
st2000)
basic_machine=m68k-tandem
;;
stratus)
basic_machine=i860-stratus
os=-sysv4
;;
sun2)
basic_machine=m68000-sun
;;
sun2os3)
basic_machine=m68000-sun
os=-sunos3
;;
sun2os4)
basic_machine=m68000-sun
os=-sunos4
;;
sun3os3)
basic_machine=m68k-sun
os=-sunos3
;;
sun3os4)
basic_machine=m68k-sun
os=-sunos4
;;
sun4os3)
basic_machine=sparc-sun
os=-sunos3
;;
sun4os4)
basic_machine=sparc-sun
os=-sunos4
;;
sun4sol2)
basic_machine=sparc-sun
os=-solaris2
;;
sun3 | sun3-*)
basic_machine=m68k-sun
;;
sun4)
basic_machine=sparc-sun
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
sv1)
basic_machine=sv1-cray
os=-unicos
;;
symmetry)
basic_machine=i386-sequent
os=-dynix
;;
t3e)
basic_machine=alphaev5-cray
os=-unicos
;;
t90)
basic_machine=t90-cray
os=-unicos
;;
tic54x | c54x*)
basic_machine=tic54x-unknown
os=-coff
;;
tic55x | c55x*)
basic_machine=tic55x-unknown
os=-coff
;;
tic6x | c6x*)
basic_machine=tic6x-unknown
os=-coff
;;
tx39)
basic_machine=mipstx39-unknown
;;
tx39el)
basic_machine=mipstx39el-unknown
;;
toad1)
basic_machine=pdp10-xkl
os=-tops20
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
tpf)
basic_machine=s390x-ibm
os=-tpf
;;
udi29k)
basic_machine=a29k-amd
os=-udi
;;
ultra3)
basic_machine=a29k-nyu
os=-sym1
;;
v810 | necv810)
basic_machine=v810-nec
os=-none
;;
vaxv)
basic_machine=vax-dec
os=-sysv
;;
vms)
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
;;
vxworks68)
basic_machine=m68k-wrs
os=-vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
os=-vxworks
;;
w65*)
basic_machine=w65-wdc
os=-none
;;
w89k-*)
basic_machine=hppa1.1-winbond
os=-proelf
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
ymp)
basic_machine=ymp-cray
os=-unicos
;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
none)
basic_machine=none-none
os=-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
w89k)
basic_machine=hppa1.1-winbond
;;
op50n)
basic_machine=hppa1.1-oki
;;
op60c)
basic_machine=hppa1.1-oki
;;
romp)
basic_machine=romp-ibm
;;
rs6000)
basic_machine=rs6000-ibm
;;
vax)
basic_machine=vax-dec
;;
pdp10)
# there are many clones, so DEC is not a safe bet
basic_machine=pdp10-unknown
;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sh64)
basic_machine=sh64-unknown
;;
sparc | sparcv9 | sparcv9b)
basic_machine=sparc-sun
;;
cydra)
basic_machine=cydra-cydrome
;;
orion)
basic_machine=orion-highlevel
;;
orion105)
basic_machine=clipper-highlevel
;;
mac | mpw | mac-mpw)
basic_machine=m68k-apple
;;
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
*-unknown)
# Make sure to match an already-canonicalized machine name.
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
;;
*-commodore*)
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if [ x"$os" != x"" ]
then
case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
-solaris)
os=-solaris2
;;
-svr4*)
os=-sysv4
;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
case $basic_machine in
x86-* | i*86-*)
;;
*)
os=-nto$os
;;
esac
;;
-nto-qnx*)
;;
-nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
-opened*)
os=-openedition
;;
-os400*)
os=-os400
;;
-wince*)
os=-wince
;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
-acis*)
os=-aos
;;
-atheos*)
os=-atheos
;;
-syllable*)
os=-syllable
;;
-386bsd)
os=-bsd
;;
-ctix* | -uts*)
os=-sysv
;;
-nova*)
os=-rtmk-nova
;;
-ns2 )
os=-nextstep2
;;
-nsk*)
os=-nsk
;;
# Preserve the version number of sinix5.
-sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
-sinix*)
os=-sysv4
;;
-tpf*)
os=-tpf
;;
-triton*)
os=-sysv3
;;
-oss*)
os=-sysv3
;;
-svr4)
os=-sysv4
;;
-svr3)
os=-sysv3
;;
-sysvr4)
os=-sysv4
;;
# This must come after -sysvr4.
-sysv*)
;;
-ose*)
os=-ose
;;
-es1800*)
os=-ose
;;
-xenix)
os=-xenix
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
-aros*)
os=-aros
;;
-kaos*)
os=-kaos
;;
-none)
;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
exit 1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case $basic_machine in
*-acorn)
os=-riscix1.2
;;
arm*-rebel)
os=-linux
;;
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
;;
pdp11-*)
os=-none
;;
*-dec | vax-*)
os=-ultrix4.2
;;
m68*-apollo)
os=-domain
;;
i386-sun)
os=-sunos4.0.2
;;
m68000-sun)
os=-sunos3
# This also exists in the configure program, but was not the
# default.
# os=-sunos4
;;
m68*-cisco)
os=-aout
;;
mips*-cisco)
os=-elf
;;
mips*-*)
os=-elf
;;
or32-*)
os=-coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
*-be)
os=-beos
;;
*-ibm)
os=-aix
;;
*-wec)
os=-proelf
;;
*-winbond)
os=-proelf
;;
*-oki)
os=-proelf
;;
*-hp)
os=-hpux
;;
*-hitachi)
os=-hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
*-cbm)
os=-amigaos
;;
*-dg)
os=-dgux
;;
*-dolphin)
os=-sysv3
;;
m68k-ccur)
os=-rtu
;;
m88k-omron*)
os=-luna
;;
*-next )
os=-nextstep
;;
*-sequent)
os=-ptx
;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
i370-*)
os=-mvs
;;
*-next)
os=-nextstep3
;;
*-gould)
os=-sysv
;;
*-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
*-sgi)
os=-irix
;;
*-siemens)
os=-sysv4
;;
*-masscomp)
os=-rtu
;;
f30[01]-fujitsu | f700-fujitsu)
os=-uxpv
;;
*-rom68k)
os=-coff
;;
*-*bug)
os=-coff
;;
*-apple)
os=-macos
;;
*-atari*)
os=-mint
;;
*)
os=-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
*-unknown)
case $os in
-riscix*)
vendor=acorn
;;
-sunos*)
vendor=sun
;;
-aix*)
vendor=ibm
;;
-beos*)
vendor=be
;;
-hpux*)
vendor=hp
;;
-mpeix*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
-unos*)
vendor=crds
;;
-dgux*)
vendor=dg
;;
-luna*)
vendor=omron
;;
-genix*)
vendor=ns
;;
-mvs* | -opened*)
vendor=ibm
;;
-os400*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-tpf*)
vendor=ibm
;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
-aux*)
vendor=apple
;;
-hms*)
vendor=hitachi
;;
-mpw* | -macos*)
vendor=apple
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
vendor=atari
;;
-vos*)
vendor=stratus
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
echo $basic_machine$os
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
flamerobin_0.9.3~svn+2220.orig/configure 0000775 0000000 0000000 00000772211 11770571553 0020124 0 ustar 00root root 0000000 0000000 #! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.67.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
# Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='print -r --'
as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
as_echo_n='/usr/ucb/echo -n'
else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
case $arg in #(
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
esac;
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
'
export as_echo_n_body
as_echo_n='sh -c $as_echo_n_body as_echo'
fi
export as_echo_body
as_echo='sh -c $as_echo_body as_echo'
fi
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there. '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
else
case \`(set -o) 2>/dev/null\` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
"
as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }
exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else
exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
if (eval "$as_required") 2>/dev/null; then :
as_have_required=yes
else
as_have_required=no
fi
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
as_found=:
case $as_dir in #(
/*)
for as_base in sh bash ksh sh5; do
# Try only shells that exist, to save several forks.
as_shell=$as_dir/$as_base
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
CONFIG_SHELL=$as_shell as_have_required=yes
if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
break 2
fi
fi
done;;
esac
as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then :
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
export CONFIG_SHELL
exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi
if test x$as_have_required = xno; then :
$as_echo "$0: This script requires a shell more modern than all"
$as_echo "$0: the shells that I found on your system."
if test x${ZSH_VERSION+set} = xset ; then
$as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
fi
exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS
## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
$as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
$as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
as_lineno_1=$LINENO as_lineno_1a=$LINENO
as_lineno_2=$LINENO as_lineno_2a=$LINENO
eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
# Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
/[$]LINENO/=
' <$as_myself |
sed '
s/[$]LINENO.*/&-/
t lineno
b
:lineno
N
:loop
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
. "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -p'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
else
as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
if test -x / >/dev/null 2>&1; then
as_test_x='test -x'
else
if ls -dL / >/dev/null 2>&1; then
as_ls_L_option=L
else
as_ls_L_option=
fi
as_test_x='
eval sh -c '\''
if test -d "$1"; then
test -d "$1/.";
else
case $1 in #(
-*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
fi
as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
test -n "$DJDIR" || exec 7<&0 &1
# Name of the host.
# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME=
PACKAGE_TARNAME=
PACKAGE_VERSION=
PACKAGE_STRING=
PACKAGE_BUGREPORT=
PACKAGE_URL=
ac_unique_file="aclocal.m4"
# Factoring default headers for most tests.
ac_includes_default="\
#include
#ifdef HAVE_SYS_TYPES_H
# include
#endif
#ifdef HAVE_SYS_STAT_H
# include
#endif
#ifdef STDC_HEADERS
# include
# include
#else
# ifdef HAVE_STDLIB_H
# include
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# include
# endif
# include
#endif
#ifdef HAVE_STRINGS_H
# include
#endif
#ifdef HAVE_INTTYPES_H
# include
#endif
#ifdef HAVE_STDINT_H
# include
#endif
#ifdef HAVE_UNISTD_H
# include
#endif"
ac_subst_vars='LTLIBOBJS
LIBOBJS
WX_INCLUDES
COND_USE_PCH_1
COND_USEDLL_1
COND_UNICODE_1
COND_STATICRTL_1
COND_STATICRTL_0
COND_PLATFORM_WIN32_1
COND_PLATFORM_UNIX_1
COND_PLATFORM_OS2_1
COND_PLATFORM_MAC_1
COND_PLATFORM_MAC_0
COND_PLATFORM_MACOSX_1
COND_ICC_PCH_1
COND_GCC_PCH_1
COND_FINAL_1
COND_FINAL_0
COND_DEPS_TRACKING_1
COND_DEPS_TRACKING_0
BK_MAKE_PCH
ICC_PCH_USE_SWITCH
ICC_PCH_CREATE_SWITCH
ICC_PCH
GCC_PCH
OBJCXXFLAGS
SETFILE
REZ
WINDRES
BK_DEPS
DEPS_TRACKING
SONAME_FLAG
USE_SOTWOSYMLINKS
USE_MACVERSION
USE_SOVERCYGWIN
USE_SOVERSOLARIS
USE_SOVERLINUX
USE_SOVERSION
WINDOWS_IMPLIB
PIC_FLAG
SHARED_LD_MODULE_CXX
SHARED_LD_MODULE_CC
SHARED_LD_CXX
SHARED_LD_CC
AIX_CXX_LD
dlldir
DLLPREFIX_MODULE
DLLPREFIX
LIBEXT
LIBPREFIX
DLLIMP_SUFFIX
SO_SUFFIX_MODULE
SO_SUFFIX
PLATFORM_BEOS
PLATFORM_OS2
PLATFORM_MACOSX
PLATFORM_MACOS
PLATFORM_MAC
PLATFORM_MSDOS
PLATFORM_WIN32
PLATFORM_UNIX
IF_GNU_MAKE
LDFLAGS_GUI
INSTALL_DIR
NM
STRIP
AROPTIONS
AR
MAKE_SET
SET_MAKE
LN_S
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
RANLIB
ac_ct_CC
CFLAGS
CC
EGREP
GREP
CXXCPP
WX_RESCOMP
WX_VERSION
WX_LIBS_STATIC
WX_LIBS
WX_CXXFLAGS_ONLY
WX_CFLAGS_ONLY
WX_CXXFLAGS
WX_CFLAGS
WX_CPPFLAGS
WX_CONFIG_PATH
OBJEXT
EXEEXT
ac_ct_CXX
CPPFLAGS
LDFLAGS
CXXFLAGS
CXX
target_os
target_vendor
target_cpu
target
host_os
host_vendor
host_cpu
host
build_os
build_vendor
build_cpu
build
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_URL
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
with_wxdir
with_wx_config
with_wx_prefix
with_wx_exec_prefix
enable_debug
with_boost_include_path
enable_omf
enable_dependency_tracking
enable_precomp_headers
'
ac_precious_vars='build_alias
host_alias
target_alias
CXX
CXXFLAGS
LDFLAGS
LIBS
CPPFLAGS
CCC
CXXCPP
CC
CFLAGS'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE
# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'
ac_prev=
ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval $ac_prev=\$ac_option
ac_prev=
continue
fi
case $ac_option in
*=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
*=) ac_optarg= ;;
*) ac_optarg=yes ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case $ac_dashdash$ac_option in
--)
ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir=$ac_optarg ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build_alias ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build_alias=$ac_optarg ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file=$ac_optarg ;;
--config-cache | -C)
cache_file=config.cache ;;
-datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
-datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
| --dataroo | --dataro | --datar)
ac_prev=datarootdir ;;
-datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
| --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
-docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
docdir=$ac_optarg ;;
-dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
ac_prev=dvidir ;;
-dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix=$ac_optarg ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he | -h)
ac_init_help=long ;;
-help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
ac_init_help=recursive ;;
-help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
ac_init_help=short ;;
-host | --host | --hos | --ho)
ac_prev=host_alias ;;
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
-htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
ac_prev=htmldir ;;
-htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
| --ht=*)
htmldir=$ac_optarg ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir=$ac_optarg ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir=$ac_optarg ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir=$ac_optarg ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir=$ac_optarg ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c | -n)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir=$ac_optarg ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=$ac_optarg ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix=$ac_optarg ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix=$ac_optarg ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
ac_prev=pdfdir ;;
-pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
pdfdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
-psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
psdir=$ac_optarg ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir=$ac_optarg ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir=$ac_optarg ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site=$ac_optarg ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir=$ac_optarg ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir=$ac_optarg ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target_alias ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target_alias=$ac_optarg ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers | -V)
ac_init_version=: ;;
-with-* | --with-*)
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=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 ;;
-*) as_fn_error $? "unrecognized option: \`$ac_option'
Try \`$0 --help' for more information"
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
esac
done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
case $ac_val in
*/ )
ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
eval $ac_var=\$ac_val;;
esac
# Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias
# FIXME: To remove some day.
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
$as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
fi
ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_myself" : 'X\(//\)[^/]' \| \
X"$as_myself" : 'X\(//\)$' \| \
X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
srcdir=$ac_confdir
if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
eval ac_env_${ac_var}_set=\${${ac_var}+set}
eval ac_env_${ac_var}_value=\$${ac_var}
eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
eval ac_cv_env_${ac_var}_value=\$${ac_var}
done
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures this package to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
--target=TARGET configure for building compilers for TARGET [HOST]
_ACEOF
fi
if test -n "$ac_init_help"; then
cat <<\_ACEOF
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-debug Enable debugging information
--enable-omf use OMF object format (OS/2)
--disable-dependency-tracking
don't use dependency tracking even if the compiler
can
--disable-precomp-headers
don't use precompiled headers even if compiler can
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-wxdir=PATH Use uninstalled version of wxWidgets in PATH
--with-wx-config=CONFIG wx-config script to use (optional)
--with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)
--with-wx-exec-prefix=PREFIX
Exec prefix where wxWidgets is installed (optional)
--with-boost-include-path
Location of the Boost library headers (optional)
Some influential environment variables:
CXX C++ compiler command
CXXFLAGS C++ compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
CXXCPP C++ preprocessor
CC C compiler command
CFLAGS C compiler flags
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to the package provider.
_ACEOF
ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
test -d "$ac_dir" ||
{ cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
cd "$ac_dir" || { ac_status=$?; continue; }
# Check for guested configure.
if test -f "$ac_srcdir/configure.gnu"; then
echo &&
$SHELL "$ac_srcdir/configure.gnu" --help=recursive
elif test -f "$ac_srcdir/configure"; then
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
configure
generated by GNU Autoconf 2.67
Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
exit
fi
## ------------------------ ##
## Autoconf initialization. ##
## ------------------------ ##
# ac_fn_cxx_try_compile LINENO
# ----------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_compile
# ac_fn_cxx_try_cpp LINENO
# ------------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } > conftest.i && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_cpp
# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
# ---------------------------------------------------------
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
# the include files in INCLUDES and setting the cache variable VAR
# accordingly.
ac_fn_cxx_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if eval "test \"\${$3+set}\"" = set; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
# Is the header compilable?
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
$as_echo_n "checking $2 usability... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_header_compiler=yes
else
ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
$as_echo_n "checking $2 presence... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <$2>
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
ac_header_preproc=yes
else
ac_header_preproc=no
fi
rm -f conftest.err conftest.i conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
yes:no: )
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
;;
no:yes:* )
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
} # ac_fn_cxx_check_header_mongrel
# ac_fn_cxx_try_run LINENO
# ------------------------
# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
# that executables *can* be run.
ac_fn_cxx_try_run ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
ac_retval=0
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_run
# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
# ---------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
# INCLUDES, setting the cache variable VAR accordingly.
ac_fn_cxx_check_header_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
eval "$3=yes"
else
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
} # ac_fn_cxx_check_header_compile
# ac_fn_cxx_try_link LINENO
# -------------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_try_link ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest$ac_exeext
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
$as_test_x conftest$ac_exeext
}; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
# Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
# created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_link
# ac_fn_c_try_compile LINENO
# --------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
generated by GNU Autoconf 2.67. Invocation command line was
$ $0 $@
_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##
hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
_ASUNAME
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
$as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
} >&5
cat >&5 <<_ACEOF
## ----------- ##
## Core tests. ##
## ----------- ##
_ACEOF
# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
for ac_arg
do
case $ac_arg in
-no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2)
as_fn_append ac_configure_args1 " '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
case $ac_arg in
*=* | --config-cache | -C | -disable-* | --disable-* \
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
| -with-* | --with-* | -without-* | --without-* | --x)
case "$ac_configure_args0 " in
"$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
esac
;;
-* ) ac_must_keep_next=true ;;
esac
fi
as_fn_append ac_configure_args " '$ac_arg'"
;;
esac
done
done
{ ac_configure_args0=; unset ac_configure_args0;}
{ ac_configure_args1=; unset ac_configure_args1;}
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
echo
$as_echo "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
sed -n \
"s/'\''/'\''\\\\'\'''\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
;; #(
*)
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
)
echo
$as_echo "## ----------------- ##
## Output variables. ##
## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
$as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
$as_echo "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
$as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
$as_echo "## ----------- ##
## confdefs.h. ##
## ----------- ##"
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
$as_echo "$as_me: caught signal $ac_signal"
$as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h
$as_echo "/* confdefs.h */" > confdefs.h
# Predefined preprocessor variables.
cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_URL "$PACKAGE_URL"
_ACEOF
# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
# We do not want a PATH search for config.site.
case $CONFIG_SITE in #((
-*) ac_site_file1=./$CONFIG_SITE;;
*/*) ac_site_file1=$CONFIG_SITE;;
*) ac_site_file1=./$CONFIG_SITE;;
esac
elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
else
ac_site_file1=$ac_default_prefix/share/config.site
ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5 ; }
fi
done
if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special files
# actually), so we avoid doing that. DJGPP emulates it as a regular file.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
eval ac_old_val=\$ac_cv_env_${ac_var}_value
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
# differences in whitespace do not lead to failure.
ac_old_val_w=`echo x $ac_old_val`
ac_new_val_w=`echo x $ac_new_val`
if test "$ac_old_val_w" != "$ac_new_val_w"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
*\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
*) as_fn_append ac_configure_args " '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
## -------------------- ##
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f "$ac_dir/install.sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
elif test -f "$ac_dir/shtool"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
if test "${ac_cv_build+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_build
shift
build_cpu=$1
build_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
build_os=$*
IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
if test "${ac_cv_host+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_host
shift
host_cpu=$1
host_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
host_os=$*
IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
if test "${ac_cv_target+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
ac_cv_target=$ac_cv_host
else
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_target
shift
target_cpu=$1
target_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
target_os=$*
IFS=$ac_save_IFS
case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
test -n "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
# Check whether --with-wxdir was given.
if test "${with_wxdir+set}" = set; then :
withval=$with_wxdir; wx_config_name="$withval/wx-config"
wx_config_args="--inplace"
fi
# Check whether --with-wx-config was given.
if test "${with_wx_config+set}" = set; then :
withval=$with_wx_config; wx_config_name="$withval"
fi
# Check whether --with-wx-prefix was given.
if test "${with_wx_prefix+set}" = set; then :
withval=$with_wx_prefix; wx_config_prefix="$withval"
else
wx_config_prefix=""
fi
# Check whether --with-wx-exec-prefix was given.
if test "${with_wx_exec_prefix+set}" = set; then :
withval=$with_wx_exec_prefix; wx_config_exec_prefix="$withval"
else
wx_config_exec_prefix=""
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test -z "$CXX"; then
if test -n "$CCC"; then
CXX=$CCC
else
if test -n "$ac_tool_prefix"; then
for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
$as_echo "$CXX" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$CXX" && break
done
fi
if test -z "$CXX"; then
ac_ct_CXX=$CXX
for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
$as_echo "$ac_ct_CXX" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$ac_ct_CXX" && break
done
if test "x$ac_ct_CXX" = x; then
CXX="g++"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
fi
fi
fi
fi
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion; do
{ { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
sed '10a\
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
$as_echo_n "checking whether the C++ compiler works... " >&6; }
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
rm -f $ac_rmfiles
if { { ac_try="$ac_link_default"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then :
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
# in a Makefile. We should not override ac_cv_exeext if it was cached,
# so that the user can short-circuit this test for compilers unknown to
# Autoconf.
for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
then :; else
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
fi
# We set ac_cv_exeext here because the later test for it is not
# safe: cross compilers may not add the suffix if given an `-o'
# argument, so we may need to know it at that point already.
# Even if this section looks crufty: it has the advantage of
# actually working.
break;;
* )
break;;
esac
done
test "$ac_cv_exeext" = no && ac_cv_exeext=
else
ac_file=''
fi
if test -z "$ac_file"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C++ compiler cannot create executables
See \`config.log' for more details" "$LINENO" 5 ; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
$as_echo_n "checking for C++ compiler default output file name... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then :
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
# `rm'.
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details" "$LINENO" 5 ; }
fi
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main ()
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
;
return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run C++ compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details" "$LINENO" 5 ; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.o conftest.obj
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then :
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
See \`config.log' for more details" "$LINENO" 5 ; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_compiler_gnu=yes
else
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
if test $ac_compiler_gnu = yes; then
GXX=yes
else
GXX=
fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
$as_echo_n "checking whether $CXX accepts -g... " >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
ac_cv_prog_cxx_g=no
CXXFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_cv_prog_cxx_g=yes
else
CXXFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
else
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
CXXFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_cv_prog_cxx_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
$as_echo "$ac_cv_prog_cxx_g" >&6; }
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
if test "$GXX" = yes; then
CXXFLAGS="-g -O2"
else
CXXFLAGS="-g"
fi
else
if test "$GXX" = yes; then
CXXFLAGS="-O2"
else
CXXFLAGS=
fi
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Check whether --enable-debug was given.
if test "${enable_debug+set}" = set; then :
enableval=$enable_debug; USE_DEBUG="$enableval"
else
USE_DEBUG="no"
fi
if test $USE_DEBUG = yes ; then
DEBUG=1
FINAL=0
CFLAGS="$CFLAGS -g"
else
DEBUG=0
FINAL=1
fi
# Check for wxWidgets
if test x${WX_CONFIG_NAME+set} != xset ; then
WX_CONFIG_NAME=wx-config
fi
if test "x$wx_config_name" != x ; then
WX_CONFIG_NAME="$wx_config_name"
fi
if test x$wx_config_exec_prefix != x ; then
wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix"
WX_LOOKUP_PATH="$wx_config_exec_prefix/bin"
fi
if test x$wx_config_prefix != x ; then
wx_config_args="$wx_config_args --prefix=$wx_config_prefix"
WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin"
fi
if test "$cross_compiling" = "yes"; then
wx_config_args="$wx_config_args --host=$host_alias"
fi
if test -x "$WX_CONFIG_NAME" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wx-config" >&5
$as_echo_n "checking for wx-config... " >&6; }
WX_CONFIG_PATH="$WX_CONFIG_NAME"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WX_CONFIG_PATH" >&5
$as_echo "$WX_CONFIG_PATH" >&6; }
else
# Extract the first word of "$WX_CONFIG_NAME", so it can be a program name with args.
set dummy $WX_CONFIG_NAME; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_WX_CONFIG_PATH+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $WX_CONFIG_PATH in
[\\/]* | ?:[\\/]*)
ac_cv_path_WX_CONFIG_PATH="$WX_CONFIG_PATH" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_dummy=""$WX_LOOKUP_PATH:$PATH""
for as_dir in $as_dummy
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_WX_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_path_WX_CONFIG_PATH" && ac_cv_path_WX_CONFIG_PATH="no"
;;
esac
fi
WX_CONFIG_PATH=$ac_cv_path_WX_CONFIG_PATH
if test -n "$WX_CONFIG_PATH"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WX_CONFIG_PATH" >&5
$as_echo "$WX_CONFIG_PATH" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test "$WX_CONFIG_PATH" != "no" ; then
WX_VERSION=""
min_wx_version=2.8.0
if test -z "" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets version >= $min_wx_version" >&5
$as_echo_n "checking for wxWidgets version >= $min_wx_version... " >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets version >= $min_wx_version ()" >&5
$as_echo_n "checking for wxWidgets version >= $min_wx_version ()... " >&6; }
fi
WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args aui,stc,std"
WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`
wx_config_major_version=`echo $WX_VERSION | \
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
wx_config_minor_version=`echo $WX_VERSION | \
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
wx_config_micro_version=`echo $WX_VERSION | \
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
wx_requested_major_version=`echo $min_wx_version | \
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
wx_requested_minor_version=`echo $min_wx_version | \
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
wx_requested_micro_version=`echo $min_wx_version | \
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
wx_ver_ok=""
if test "x$WX_VERSION" != x ; then
if test $wx_config_major_version -gt $wx_requested_major_version; then
wx_ver_ok=yes
else
if test $wx_config_major_version -eq $wx_requested_major_version; then
if test $wx_config_minor_version -gt $wx_requested_minor_version; then
wx_ver_ok=yes
else
if test $wx_config_minor_version -eq $wx_requested_minor_version; then
if test $wx_config_micro_version -ge $wx_requested_micro_version; then
wx_ver_ok=yes
fi
fi
fi
fi
fi
fi
if test -n "$wx_ver_ok"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (version $WX_VERSION)" >&5
$as_echo "yes (version $WX_VERSION)" >&6; }
WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets static library" >&5
$as_echo_n "checking for wxWidgets static library... " >&6; }
WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs 2>/dev/null`
if test "x$WX_LIBS_STATIC" = "x"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
fi
wx_has_cppflags=""
if test $wx_config_major_version -gt 2; then
wx_has_cppflags=yes
else
if test $wx_config_major_version -eq 2; then
if test $wx_config_minor_version -gt 2; then
wx_has_cppflags=yes
else
if test $wx_config_minor_version -eq 2; then
if test $wx_config_micro_version -ge 6; then
wx_has_cppflags=yes
fi
fi
fi
fi
fi
wx_has_rescomp=""
if test $wx_config_major_version -gt 2; then
wx_has_rescomp=yes
else
if test $wx_config_major_version -eq 2; then
if test $wx_config_minor_version -ge 7; then
wx_has_rescomp=yes
fi
fi
fi
if test "x$wx_has_rescomp" = x ; then
WX_RESCOMP=
else
WX_RESCOMP=`$WX_CONFIG_WITH_ARGS --rescomp`
fi
if test "x$wx_has_cppflags" = x ; then
WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
WX_CPPFLAGS=$WX_CFLAGS
WX_CXXFLAGS=$WX_CFLAGS
WX_CFLAGS_ONLY=$WX_CFLAGS
WX_CXXFLAGS_ONLY=$WX_CFLAGS
else
WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags`
WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags`
WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"`
WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"`
fi
:
else
if test "x$WX_VERSION" = x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no (version $WX_VERSION is not new enough)" >&5
$as_echo "no (version $WX_VERSION is not new enough)" >&6; }
fi
WX_CFLAGS=""
WX_CPPFLAGS=""
WX_CXXFLAGS=""
WX_LIBS=""
WX_LIBS_STATIC=""
WX_RESCOMP=""
as_fn_error $? "
wxWidgets must be installed on your system
but wx-config script couldn't be found.
Please check that wx-config is in path, the directory
where wxWidgets libraries are installed (returned by
'wx-config --libs' command) is in LD_LIBRARY_PATH or
equivalent variable and wxWidgets version is 2.8.0 or above.
" "$LINENO" 5
fi
else
WX_CFLAGS=""
WX_CPPFLAGS=""
WX_CXXFLAGS=""
WX_LIBS=""
WX_LIBS_STATIC=""
WX_RESCOMP=""
as_fn_error $? "
wxWidgets must be installed on your system
but wx-config script couldn't be found.
Please check that wx-config is in path, the directory
where wxWidgets libraries are installed (returned by
'wx-config --libs' command) is in LD_LIBRARY_PATH or
equivalent variable and wxWidgets version is 2.8.0 or above.
" "$LINENO" 5
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# Check for Boost headers
# Check whether --with-boost-include-path was given.
if test "${with_boost_include_path+set}" = set; then :
withval=$with_boost_include_path; BOOSTINCLUDEPATH=$withval
fi
if test "x$BOOSTINCLUDEPATH" != "x"; then :
CPPFLAGS="$CPPFLAGS -I$BOOSTINCLUDEPATH"
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CXXCPP needs to be expanded
for CXXCPP in "$CXX -E" "/lib/cpp"
do
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer to if __STDC__ is defined, since
# exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include
#else
# include
#endif
Syntax error
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
else
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
break
fi
done
ac_cv_prog_CXXCPP=$CXXCPP
fi
CXXCPP=$ac_cv_prog_CXXCPP
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
$as_echo "$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer to if __STDC__ is defined, since
# exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include
#else
# include
#endif
Syntax error
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
else
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details" "$LINENO" 5 ; }
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
if test "${ac_cv_path_GREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
ac_path_GREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_GREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_GREP="$ac_path_GREP"
ac_path_GREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_GREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
$as_echo "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
if test "${ac_cv_path_EGREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
if test -z "$EGREP"; then
ac_path_EGREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_EGREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_EGREP="$ac_path_EGREP"
ac_path_EGREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_EGREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
$as_echo "$ac_cv_path_EGREP" >&6; }
EGREP="$ac_cv_path_EGREP"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
#include
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_cv_header_stdc=yes
else
ac_cv_header_stdc=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "memchr" >/dev/null 2>&1; then :
else
ac_cv_header_stdc=no
fi
rm -f conftest*
fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "free" >/dev/null 2>&1; then :
else
ac_cv_header_stdc=no
fi
rm -f conftest*
fi
if test $ac_cv_header_stdc = yes; then
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
if test "$cross_compiling" = yes; then :
:
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#else
# define ISLOWER(c) \
(('a' <= (c) && (c) <= 'i') \
|| ('j' <= (c) && (c) <= 'r') \
|| ('s' <= (c) && (c) <= 'z'))
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
#endif
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int
main ()
{
int i;
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
return 2;
return 0;
}
_ACEOF
if ac_fn_cxx_try_run "$LINENO"; then :
else
ac_cv_header_stdc=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
$as_echo "#define STDC_HEADERS 1" >>confdefs.h
fi
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
"
if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
done
ac_fn_cxx_check_header_mongrel "$LINENO" "boost/shared_ptr.hpp" "ac_cv_header_boost_shared_ptr_hpp" "$ac_includes_default"
if test "x$ac_cv_header_boost_shared_ptr_hpp" = x""yes; then :
else
as_fn_error $? "
boost/shared_ptr.hpp not found.
Install libboost-dev Boost C++ Libraries development files.
In Debian/Ubuntu 'sudo apt-get install libboost-dev'
" "$LINENO" 5
fi
ac_fn_cxx_check_header_mongrel "$LINENO" "boost/function.hpp" "ac_cv_header_boost_function_hpp" "$ac_includes_default"
if test "x$ac_cv_header_boost_function_hpp" = x""yes; then :
else
as_fn_error $? "
boost/function.hpp not found.
Install libboost-dev Boost C++ Libraries development files.
In Debian/Ubuntu 'sudo apt-get install libboost-dev'
" "$LINENO" 5
fi
# Link to Firebird client library
case "${host}" in
*-*-cygwin* | *-*-mingw32* )
;;
*-*-darwin* )
LIBS="$LIBS -framework Firebird"
;;
* )
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing isc_attach_database" >&5
$as_echo_n "checking for library containing isc_attach_database... " >&6; }
if test "${ac_cv_search_isc_attach_database+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char isc_attach_database ();
int
main ()
{
return isc_attach_database ();
;
return 0;
}
_ACEOF
for ac_lib in '' fbclient fbembed; do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_cxx_try_link "$LINENO"; then :
ac_cv_search_isc_attach_database=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
if test "${ac_cv_search_isc_attach_database+set}" = set; then :
break
fi
done
if test "${ac_cv_search_isc_attach_database+set}" = set; then :
else
ac_cv_search_isc_attach_database=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_isc_attach_database" >&5
$as_echo "$ac_cv_search_isc_attach_database" >&6; }
ac_res=$ac_cv_search_isc_attach_database
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
else
as_fn_error $? "
Firebird client library not found
Install Firebird server development files.
In Debian/Ubuntu 'sudo apt-get install firebird2.5-dev'
" "$LINENO" 5
fi
esac
CPPFLAGS="$CPPFLAGS $WX_CXXFLAGS"
LDFLAGS="$LDFLAGS $WX_LDFLAGS $WX_LIBS"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
set dummy $ac_cv_prog_CC
shift
if test $# != 0; then
# We chose a different compiler from the bogus one.
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$ac_ct_CC" && break
done
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
fi
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
See \`config.log' for more details" "$LINENO" 5 ; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion; do
{ { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
sed '10a\
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_compiler_gnu=yes
else
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
$as_echo "$ac_cv_c_compiler_gnu" >&6; }
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
else
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
else
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
CFLAGS="-O2"
else
CFLAGS=
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
if test "${ac_cv_prog_cc_c89+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
#include
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
static char *e (p, i)
char **p;
int i;
{
return p[i];
}
static char *f (char * (*g) (char **, int), char **p, ...)
{
char *s;
va_list v;
va_start (v,p);
s = g (p, va_arg (v,int));
va_end (v);
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
as 'x'. The following induces an error, until -std is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
that's true only with -std. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
inside strings and character constants. */
#define FOO(x) 'x'
int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
int argc;
char **argv;
int
main ()
{
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
;
return 0;
}
_ACEOF
for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
# AC_CACHE_VAL
case "x$ac_cv_prog_cc_c89" in
x)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
$as_echo "none needed" >&6; } ;;
xno)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
$as_echo "unsupported" >&6; } ;;
*)
CC="$CC $ac_cv_prog_cc_c89"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
if test "x$ac_cv_prog_cc_c89" != xno; then :
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Intel C compiler" >&5
$as_echo_n "checking whether we are using the Intel C compiler... " >&6; }
if test "${bakefile_cv_c_compiler___INTEL_COMPILER+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __INTEL_COMPILER
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___INTEL_COMPILER=yes
else
bakefile_cv_c_compiler___INTEL_COMPILER=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___INTEL_COMPILER" >&5
$as_echo "$bakefile_cv_c_compiler___INTEL_COMPILER" >&6; }
if test "x$bakefile_cv_c_compiler___INTEL_COMPILER" = "xyes"; then
:; INTELCC=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test "$INTELCC" = "yes"; then
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Intel C compiler v8 or later" >&5
$as_echo_n "checking whether we are using Intel C compiler v8 or later... " >&6; }
if test "${bakefile_cv_c_compiler___INTEL_COMPILER_lt_800+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __INTEL_COMPILER || __INTEL_COMPILER < 800
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___INTEL_COMPILER_lt_800=yes
else
bakefile_cv_c_compiler___INTEL_COMPILER_lt_800=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___INTEL_COMPILER_lt_800" >&5
$as_echo "$bakefile_cv_c_compiler___INTEL_COMPILER_lt_800" >&6; }
if test "x$bakefile_cv_c_compiler___INTEL_COMPILER_lt_800" = "xyes"; then
:; INTELCC8=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Intel C compiler v10 or later" >&5
$as_echo_n "checking whether we are using Intel C compiler v10 or later... " >&6; }
if test "${bakefile_cv_c_compiler___INTEL_COMPILER_lt_1000+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __INTEL_COMPILER || __INTEL_COMPILER < 1000
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___INTEL_COMPILER_lt_1000=yes
else
bakefile_cv_c_compiler___INTEL_COMPILER_lt_1000=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___INTEL_COMPILER_lt_1000" >&5
$as_echo "$bakefile_cv_c_compiler___INTEL_COMPILER_lt_1000" >&6; }
if test "x$bakefile_cv_c_compiler___INTEL_COMPILER_lt_1000" = "xyes"; then
:; INTELCC10=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
fi
if test "x$GCC" != "xyes"; then
if test "xCC" = "xC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++ compiler requires -ext o" >&5
$as_echo_n "checking if the C++ compiler requires -ext o... " >&6; }
if test "${bakefile_cv_cxx_exto+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest.$ac_ext.o
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then :
for ac_file in `(ls conftest.* 2>/dev/null)`; do
case $ac_file in
conftest.$ac_ext.o)
bakefile_cv_cxx_exto="-ext o"
;;
*)
;;
esac
done
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot figure out if compiler needs -ext o: cannot compile
See \`config.log' for more details" "$LINENO" 5 ; }
fi
rm -f conftest.$ac_ext.o conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_exto" >&5
$as_echo "$bakefile_cv_cxx_exto" >&6; }
if test "x$bakefile_cv_cxx_exto" '!=' "x"; then
if test "cxx" = "c"; then
CFLAGS="$bakefile_cv_cxx_exto $CFLAGS"
fi
if test "cxx" = "cxx"; then
CXXFLAGS="$bakefile_cv_cxx_exto $CXXFLAGS"
fi
fi
if test "x$bakefile_cv_c_exto" '!=' "x"; then
unset ac_cv_prog_cc_g
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
else
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
else
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
CFLAGS="-O2"
else
CFLAGS=
fi
fi
fi
fi
case `uname -s` in
AIX*)
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the IBM xlC C compiler" >&5
$as_echo_n "checking whether we are using the IBM xlC C compiler... " >&6; }
if test "${bakefile_cv_c_compiler___xlC__+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __xlC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___xlC__=yes
else
bakefile_cv_c_compiler___xlC__=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___xlC__" >&5
$as_echo "$bakefile_cv_c_compiler___xlC__" >&6; }
if test "x$bakefile_cv_c_compiler___xlC__" = "xyes"; then
:; XLCC=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
Darwin)
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Metrowerks C compiler" >&5
$as_echo_n "checking whether we are using the Metrowerks C compiler... " >&6; }
if test "${bakefile_cv_c_compiler___MWERKS__+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __MWERKS__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___MWERKS__=yes
else
bakefile_cv_c_compiler___MWERKS__=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___MWERKS__" >&5
$as_echo "$bakefile_cv_c_compiler___MWERKS__" >&6; }
if test "x$bakefile_cv_c_compiler___MWERKS__" = "xyes"; then
:; MWCC=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test "$MWCC" != "yes"; then
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the IBM xlC C compiler" >&5
$as_echo_n "checking whether we are using the IBM xlC C compiler... " >&6; }
if test "${bakefile_cv_c_compiler___xlC__+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __xlC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___xlC__=yes
else
bakefile_cv_c_compiler___xlC__=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___xlC__" >&5
$as_echo "$bakefile_cv_c_compiler___xlC__" >&6; }
if test "x$bakefile_cv_c_compiler___xlC__" = "xyes"; then
:; XLCC=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
fi
;;
IRIX*)
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the SGI C compiler" >&5
$as_echo_n "checking whether we are using the SGI C compiler... " >&6; }
if test "${bakefile_cv_c_compiler__SGI_COMPILER_VERSION+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef _SGI_COMPILER_VERSION
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler__SGI_COMPILER_VERSION=yes
else
bakefile_cv_c_compiler__SGI_COMPILER_VERSION=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler__SGI_COMPILER_VERSION" >&5
$as_echo "$bakefile_cv_c_compiler__SGI_COMPILER_VERSION" >&6; }
if test "x$bakefile_cv_c_compiler__SGI_COMPILER_VERSION" = "xyes"; then
:; SGICC=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
Linux*)
if test "$INTELCC" != "yes"; then
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Sun C compiler" >&5
$as_echo_n "checking whether we are using the Sun C compiler... " >&6; }
if test "${bakefile_cv_c_compiler___SUNPRO_C+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __SUNPRO_C
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___SUNPRO_C=yes
else
bakefile_cv_c_compiler___SUNPRO_C=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___SUNPRO_C" >&5
$as_echo "$bakefile_cv_c_compiler___SUNPRO_C" >&6; }
if test "x$bakefile_cv_c_compiler___SUNPRO_C" = "xyes"; then
:; SUNCC=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
fi
;;
HP-UX*)
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the HP C compiler" >&5
$as_echo_n "checking whether we are using the HP C compiler... " >&6; }
if test "${bakefile_cv_c_compiler___HP_cc+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __HP_cc
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___HP_cc=yes
else
bakefile_cv_c_compiler___HP_cc=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___HP_cc" >&5
$as_echo "$bakefile_cv_c_compiler___HP_cc" >&6; }
if test "x$bakefile_cv_c_compiler___HP_cc" = "xyes"; then
:; HPCC=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
OSF1)
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Compaq C compiler" >&5
$as_echo_n "checking whether we are using the Compaq C compiler... " >&6; }
if test "${bakefile_cv_c_compiler___DECC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __DECC
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___DECC=yes
else
bakefile_cv_c_compiler___DECC=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___DECC" >&5
$as_echo "$bakefile_cv_c_compiler___DECC" >&6; }
if test "x$bakefile_cv_c_compiler___DECC" = "xyes"; then
:; COMPAQCC=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
SunOS)
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Sun C compiler" >&5
$as_echo_n "checking whether we are using the Sun C compiler... " >&6; }
if test "${bakefile_cv_c_compiler___SUNPRO_C+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __SUNPRO_C
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
bakefile_cv_c_compiler___SUNPRO_C=yes
else
bakefile_cv_c_compiler___SUNPRO_C=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_c_compiler___SUNPRO_C" >&5
$as_echo "$bakefile_cv_c_compiler___SUNPRO_C" >&6; }
if test "x$bakefile_cv_c_compiler___SUNPRO_C" = "xyes"; then
:; SUNCC=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
esac
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Intel C++ compiler" >&5
$as_echo_n "checking whether we are using the Intel C++ compiler... " >&6; }
if test "${bakefile_cv_cxx_compiler___INTEL_COMPILER+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __INTEL_COMPILER
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___INTEL_COMPILER=yes
else
bakefile_cv_cxx_compiler___INTEL_COMPILER=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___INTEL_COMPILER" >&5
$as_echo "$bakefile_cv_cxx_compiler___INTEL_COMPILER" >&6; }
if test "x$bakefile_cv_cxx_compiler___INTEL_COMPILER" = "xyes"; then
:; INTELCXX=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test "$INTELCXX" = "yes"; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Intel C++ compiler v8 or later" >&5
$as_echo_n "checking whether we are using Intel C++ compiler v8 or later... " >&6; }
if test "${bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_800+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __INTEL_COMPILER || __INTEL_COMPILER < 800
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_800=yes
else
bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_800=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_800" >&5
$as_echo "$bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_800" >&6; }
if test "x$bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_800" = "xyes"; then
:; INTELCXX8=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Intel C++ compiler v10 or later" >&5
$as_echo_n "checking whether we are using Intel C++ compiler v10 or later... " >&6; }
if test "${bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_1000+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __INTEL_COMPILER || __INTEL_COMPILER < 1000
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_1000=yes
else
bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_1000=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_1000" >&5
$as_echo "$bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_1000" >&6; }
if test "x$bakefile_cv_cxx_compiler___INTEL_COMPILER_lt_1000" = "xyes"; then
:; INTELCXX10=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
fi
if test "x$GCXX" != "xyes"; then
if test "xCXX" = "xC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C++ compiler requires -ext o" >&5
$as_echo_n "checking if the C++ compiler requires -ext o... " >&6; }
if test "${bakefile_cv_cxx_exto+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest.$ac_ext.o
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then :
for ac_file in `(ls conftest.* 2>/dev/null)`; do
case $ac_file in
conftest.$ac_ext.o)
bakefile_cv_cxx_exto="-ext o"
;;
*)
;;
esac
done
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot figure out if compiler needs -ext o: cannot compile
See \`config.log' for more details" "$LINENO" 5 ; }
fi
rm -f conftest.$ac_ext.o conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_exto" >&5
$as_echo "$bakefile_cv_cxx_exto" >&6; }
if test "x$bakefile_cv_cxx_exto" '!=' "x"; then
if test "cxx" = "c"; then
CFLAGS="$bakefile_cv_cxx_exto $CFLAGS"
fi
if test "cxx" = "cxx"; then
CXXFLAGS="$bakefile_cv_cxx_exto $CXXFLAGS"
fi
fi
if test "x$bakefile_cv_c_exto" '!=' "x"; then
unset ac_cv_prog_cc_g
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
else
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
else
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
CFLAGS="-O2"
else
CFLAGS=
fi
fi
fi
fi
case `uname -s` in
AIX*)
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the IBM xlC C++ compiler" >&5
$as_echo_n "checking whether we are using the IBM xlC C++ compiler... " >&6; }
if test "${bakefile_cv_cxx_compiler___xlC__+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __xlC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___xlC__=yes
else
bakefile_cv_cxx_compiler___xlC__=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___xlC__" >&5
$as_echo "$bakefile_cv_cxx_compiler___xlC__" >&6; }
if test "x$bakefile_cv_cxx_compiler___xlC__" = "xyes"; then
:; XLCXX=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
Darwin)
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Metrowerks C++ compiler" >&5
$as_echo_n "checking whether we are using the Metrowerks C++ compiler... " >&6; }
if test "${bakefile_cv_cxx_compiler___MWERKS__+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __MWERKS__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___MWERKS__=yes
else
bakefile_cv_cxx_compiler___MWERKS__=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___MWERKS__" >&5
$as_echo "$bakefile_cv_cxx_compiler___MWERKS__" >&6; }
if test "x$bakefile_cv_cxx_compiler___MWERKS__" = "xyes"; then
:; MWCXX=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test "$MWCXX" != "yes"; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the IBM xlC C++ compiler" >&5
$as_echo_n "checking whether we are using the IBM xlC C++ compiler... " >&6; }
if test "${bakefile_cv_cxx_compiler___xlC__+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __xlC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___xlC__=yes
else
bakefile_cv_cxx_compiler___xlC__=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___xlC__" >&5
$as_echo "$bakefile_cv_cxx_compiler___xlC__" >&6; }
if test "x$bakefile_cv_cxx_compiler___xlC__" = "xyes"; then
:; XLCXX=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
fi
;;
IRIX*)
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the SGI C++ compiler" >&5
$as_echo_n "checking whether we are using the SGI C++ compiler... " >&6; }
if test "${bakefile_cv_cxx_compiler__SGI_COMPILER_VERSION+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef _SGI_COMPILER_VERSION
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler__SGI_COMPILER_VERSION=yes
else
bakefile_cv_cxx_compiler__SGI_COMPILER_VERSION=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler__SGI_COMPILER_VERSION" >&5
$as_echo "$bakefile_cv_cxx_compiler__SGI_COMPILER_VERSION" >&6; }
if test "x$bakefile_cv_cxx_compiler__SGI_COMPILER_VERSION" = "xyes"; then
:; SGICXX=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
Linux*)
if test "$INTELCXX" != "yes"; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Sun C++ compiler" >&5
$as_echo_n "checking whether we are using the Sun C++ compiler... " >&6; }
if test "${bakefile_cv_cxx_compiler___SUNPRO_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __SUNPRO_CC
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___SUNPRO_CC=yes
else
bakefile_cv_cxx_compiler___SUNPRO_CC=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___SUNPRO_CC" >&5
$as_echo "$bakefile_cv_cxx_compiler___SUNPRO_CC" >&6; }
if test "x$bakefile_cv_cxx_compiler___SUNPRO_CC" = "xyes"; then
:; SUNCXX=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
fi
;;
HP-UX*)
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the HP C++ compiler" >&5
$as_echo_n "checking whether we are using the HP C++ compiler... " >&6; }
if test "${bakefile_cv_cxx_compiler___HP_aCC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __HP_aCC
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___HP_aCC=yes
else
bakefile_cv_cxx_compiler___HP_aCC=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___HP_aCC" >&5
$as_echo "$bakefile_cv_cxx_compiler___HP_aCC" >&6; }
if test "x$bakefile_cv_cxx_compiler___HP_aCC" = "xyes"; then
:; HPCXX=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
OSF1)
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Compaq C++ compiler" >&5
$as_echo_n "checking whether we are using the Compaq C++ compiler... " >&6; }
if test "${bakefile_cv_cxx_compiler___DECCXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __DECCXX
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___DECCXX=yes
else
bakefile_cv_cxx_compiler___DECCXX=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___DECCXX" >&5
$as_echo "$bakefile_cv_cxx_compiler___DECCXX" >&6; }
if test "x$bakefile_cv_cxx_compiler___DECCXX" = "xyes"; then
:; COMPAQCXX=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
SunOS)
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the Sun C++ compiler" >&5
$as_echo_n "checking whether we are using the Sun C++ compiler... " >&6; }
if test "${bakefile_cv_cxx_compiler___SUNPRO_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#ifndef __SUNPRO_CC
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_cxx_compiler___SUNPRO_CC=yes
else
bakefile_cv_cxx_compiler___SUNPRO_CC=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_cxx_compiler___SUNPRO_CC" >&5
$as_echo "$bakefile_cv_cxx_compiler___SUNPRO_CC" >&6; }
if test "x$bakefile_cv_cxx_compiler___SUNPRO_CC" = "xyes"; then
:; SUNCXX=yes
else
:;
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
;;
esac
fi
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
# Account for people who put trailing slashes in PATH elements.
case $as_dir/ in #((
./ | .// | /[cC]/* | \
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
/usr/ucb/* ) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
# Don't use installbsd from OSF since it installs stuff as root
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
:
elif test $ac_prog = install &&
grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# program-specific install script used by HP pwplus--don't use.
:
else
rm -rf conftest.one conftest.two conftest.dir
echo one > conftest.one
echo two > conftest.two
mkdir conftest.dir
if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
test -s conftest.one && test -s conftest.two &&
test -s conftest.dir/conftest.one &&
test -s conftest.dir/conftest.two
then
ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
break 3
fi
fi
fi
done
done
;;
esac
done
IFS=$as_save_IFS
rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
# As a last resort, use the slow shell script. Don't cache a
# value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
if test "x$BAKEFILE_HOST" = "x"; then
if test "x${host}" = "x" ; then
as_fn_error $? "You must call the autoconf \"CANONICAL_HOST\" macro in your configure.ac (or .in) file." "$LINENO" 5
fi
BAKEFILE_HOST="${host}"
fi
if test "x$BAKEFILE_CHECK_BASICS" != "xno"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_RANLIB+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
$as_echo "$RANLIB" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
$as_echo "$ac_ct_RANLIB" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
RANLIB=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
fi
else
RANLIB="$ac_cv_prog_RANLIB"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
$as_echo_n "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
$as_echo "no, using $LN_S" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
*)
eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
SET_MAKE=
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
if test "x$SUNCXX" = "xyes"; then
AR=$CXX
AROPTIONS="-xar -o"
elif test "x$SGICC" = "xyes"; then
AR=$CXX
AROPTIONS="-ar -o"
else
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
$as_echo "$AR" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AR="ar"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
$as_echo "$ac_ct_AR" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_AR" = x; then
AR="ar"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
else
AR="$ac_cv_prog_AR"
fi
AROPTIONS=rcu
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
STRIP=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
fi
else
STRIP="$ac_cv_prog_STRIP"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}nm", so it can be a program name with args.
set dummy ${ac_tool_prefix}nm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_NM+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
ac_cv_prog_NM="$NM" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_NM="${ac_tool_prefix}nm"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
NM=$ac_cv_prog_NM
if test -n "$NM"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $NM" >&5
$as_echo "$NM" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_NM"; then
ac_ct_NM=$NM
# Extract the first word of "nm", so it can be a program name with args.
set dummy nm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_NM+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_NM"; then
ac_cv_prog_ac_ct_NM="$ac_ct_NM" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_NM="nm"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_NM=$ac_cv_prog_ac_ct_NM
if test -n "$ac_ct_NM"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NM" >&5
$as_echo "$ac_ct_NM" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_NM" = x; then
NM=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
NM=$ac_ct_NM
fi
else
NM="$ac_cv_prog_NM"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for command to install directories" >&5
$as_echo_n "checking for command to install directories... " >&6; }
INSTALL_TEST_DIR=acbftest$$
$INSTALL -d $INSTALL_TEST_DIR > /dev/null 2>&1
if test $? = 0 -a -d $INSTALL_TEST_DIR; then
rmdir $INSTALL_TEST_DIR
INSTALL_DIR='$(INSTALL) -d'
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL -d" >&5
$as_echo "$INSTALL -d" >&6; }
else
INSTALL_DIR="mkdir -p"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: mkdir -p" >&5
$as_echo "mkdir -p" >&6; }
fi
LDFLAGS_GUI=
case ${BAKEFILE_HOST} in
*-*-cygwin* | *-*-mingw32* )
LDFLAGS_GUI="-mwindows"
esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if make is GNU make" >&5
$as_echo_n "checking if make is GNU make... " >&6; }
if test "${bakefile_cv_prog_makeisgnu+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
egrep -s GNU > /dev/null); then
bakefile_cv_prog_makeisgnu="yes"
else
bakefile_cv_prog_makeisgnu="no"
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_prog_makeisgnu" >&5
$as_echo "$bakefile_cv_prog_makeisgnu" >&6; }
if test "x$bakefile_cv_prog_makeisgnu" = "xyes"; then
IF_GNU_MAKE=""
else
IF_GNU_MAKE="#"
fi
PLATFORM_UNIX=0
PLATFORM_WIN32=0
PLATFORM_MSDOS=0
PLATFORM_MAC=0
PLATFORM_MACOS=0
PLATFORM_MACOSX=0
PLATFORM_OS2=0
PLATFORM_BEOS=0
if test "x$BAKEFILE_FORCE_PLATFORM" = "x"; then
case "${BAKEFILE_HOST}" in
*-*-mingw32* )
PLATFORM_WIN32=1
;;
*-pc-msdosdjgpp )
PLATFORM_MSDOS=1
;;
*-pc-os2_emx | *-pc-os2-emx )
PLATFORM_OS2=1
;;
*-*-darwin* )
PLATFORM_MAC=1
PLATFORM_MACOSX=1
;;
*-*-beos* )
PLATFORM_BEOS=1
;;
powerpc-apple-macos* )
PLATFORM_MAC=1
PLATFORM_MACOS=1
;;
* )
PLATFORM_UNIX=1
;;
esac
else
case "$BAKEFILE_FORCE_PLATFORM" in
win32 )
PLATFORM_WIN32=1
;;
msdos )
PLATFORM_MSDOS=1
;;
os2 )
PLATFORM_OS2=1
;;
darwin )
PLATFORM_MAC=1
PLATFORM_MACOSX=1
;;
unix )
PLATFORM_UNIX=1
;;
beos )
PLATFORM_BEOS=1
;;
* )
as_fn_error $? "Unknown platform: $BAKEFILE_FORCE_PLATFORM" "$LINENO" 5
;;
esac
fi
# Check whether --enable-omf was given.
if test "${enable_omf+set}" = set; then :
enableval=$enable_omf; bk_os2_use_omf="$enableval"
fi
case "${BAKEFILE_HOST}" in
*-*-darwin* )
if test "x$GCC" = "xyes"; then
CFLAGS="$CFLAGS -fno-common"
CXXFLAGS="$CXXFLAGS -fno-common"
fi
if test "x$XLCC" = "xyes"; then
CFLAGS="$CFLAGS -qnocommon"
CXXFLAGS="$CXXFLAGS -qnocommon"
fi
;;
*-pc-os2_emx | *-pc-os2-emx )
if test "x$bk_os2_use_omf" = "xyes" ; then
AR=emxomfar
RANLIB=:
LDFLAGS="-Zomf $LDFLAGS"
CFLAGS="-Zomf $CFLAGS"
CXXFLAGS="-Zomf $CXXFLAGS"
OS2_LIBEXT="lib"
else
OS2_LIBEXT="a"
fi
;;
i*86-*-beos* )
LDFLAGS="-L/boot/develop/lib/x86 $LDFLAGS"
;;
esac
SO_SUFFIX="so"
SO_SUFFIX_MODULE="so"
EXEEXT=""
LIBPREFIX="lib"
LIBEXT=".a"
DLLPREFIX="lib"
DLLPREFIX_MODULE=""
DLLIMP_SUFFIX=""
dlldir="$libdir"
case "${BAKEFILE_HOST}" in
ia64-hp-hpux* )
;;
*-hp-hpux* )
SO_SUFFIX="sl"
SO_SUFFIX_MODULE="sl"
;;
*-*-aix* )
SO_SUFFIX="a"
SO_SUFFIX_MODULE="a"
;;
*-*-cygwin* )
SO_SUFFIX="dll"
SO_SUFFIX_MODULE="dll"
DLLIMP_SUFFIX="dll.a"
EXEEXT=".exe"
DLLPREFIX="cyg"
dlldir="$bindir"
;;
*-*-mingw32* )
SO_SUFFIX="dll"
SO_SUFFIX_MODULE="dll"
DLLIMP_SUFFIX="dll.a"
EXEEXT=".exe"
DLLPREFIX=""
dlldir="$bindir"
;;
*-pc-msdosdjgpp )
EXEEXT=".exe"
DLLPREFIX=""
dlldir="$bindir"
;;
*-pc-os2_emx | *-pc-os2-emx )
SO_SUFFIX="dll"
SO_SUFFIX_MODULE="dll"
DLLIMP_SUFFIX=$OS2_LIBEXT
EXEEXT=".exe"
DLLPREFIX=""
LIBPREFIX=""
LIBEXT=".$OS2_LIBEXT"
dlldir="$bindir"
;;
*-*-darwin* )
SO_SUFFIX="dylib"
SO_SUFFIX_MODULE="bundle"
;;
esac
if test "x$DLLIMP_SUFFIX" = "x" ; then
DLLIMP_SUFFIX="$SO_SUFFIX"
fi
PIC_FLAG=""
if test "x$GCC" = "xyes"; then
PIC_FLAG="-fPIC"
fi
SHARED_LD_CC="\$(CC) -shared ${PIC_FLAG} -o"
SHARED_LD_CXX="\$(CXX) -shared ${PIC_FLAG} -o"
WINDOWS_IMPLIB=0
case "${BAKEFILE_HOST}" in
*-hp-hpux* )
if test "x$GCC" != "xyes"; then
LDFLAGS="$LDFLAGS -L/usr/lib"
SHARED_LD_CC="${CC} -b -o"
SHARED_LD_CXX="${CXX} -b -o"
PIC_FLAG="+Z"
fi
;;
*-*-linux* )
if test "$INTELCC" = "yes" -a "$INTELCC8" != "yes"; then
PIC_FLAG="-KPIC"
elif test "x$SUNCXX" = "xyes"; then
SHARED_LD_CC="${CC} -G -o"
SHARED_LD_CXX="${CXX} -G -o"
PIC_FLAG="-KPIC"
fi
;;
*-*-solaris2* )
if test "x$SUNCXX" = xyes ; then
SHARED_LD_CC="${CC} -G -o"
SHARED_LD_CXX="${CXX} -G -o"
PIC_FLAG="-KPIC"
fi
;;
*-*-darwin* )
D='$'
cat <shared-ld-sh
#!/bin/sh
#-----------------------------------------------------------------------------
#-- Name: distrib/mac/shared-ld-sh
#-- Purpose: Link a mach-o dynamic shared library for Darwin / Mac OS X
#-- Author: Gilles Depeyrot
#-- Copyright: (c) 2002 Gilles Depeyrot
#-- Licence: any use permitted
#-----------------------------------------------------------------------------
verbose=0
args=""
objects=""
linking_flag="-dynamiclib"
ldargs="-r -keep_private_externs -nostdlib"
if test "x${D}CXX" = "x"; then
CXX="c++"
fi
while test ${D}# -gt 0; do
case ${D}1 in
-v)
verbose=1
;;
-o|-compatibility_version|-current_version|-framework|-undefined|-install_name)
# collect these options and values
args="${D}{args} ${D}1 ${D}2"
shift
;;
-arch|-isysroot)
# collect these options and values
ldargs="${D}{ldargs} ${D}1 ${D}2"
shift
;;
-s|-Wl,*)
# collect these load args
ldargs="${D}{ldargs} ${D}1"
;;
-l*|-L*|-flat_namespace|-headerpad_max_install_names)
# collect these options
args="${D}{args} ${D}1"
;;
-dynamiclib|-bundle)
linking_flag="${D}1"
;;
-*)
echo "shared-ld: unhandled option '${D}1'"
exit 1
;;
*.o | *.a | *.dylib)
# collect object files
objects="${D}{objects} ${D}1"
;;
*)
echo "shared-ld: unhandled argument '${D}1'"
exit 1
;;
esac
shift
done
status=0
#
# Link one module containing all the others
#
if test ${D}{verbose} = 1; then
echo "${D}CXX ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o"
fi
${D}CXX ${D}{ldargs} ${D}{objects} -o master.${D}${D}.o
status=${D}?
#
# Link the shared library from the single module created, but only if the
# previous command didn't fail:
#
if test ${D}{status} = 0; then
if test ${D}{verbose} = 1; then
echo "${D}CXX ${D}{linking_flag} master.${D}${D}.o ${D}{args}"
fi
${D}CXX ${D}{linking_flag} master.${D}${D}.o ${D}{args}
status=${D}?
fi
#
# Remove intermediate module
#
rm -f master.${D}${D}.o
exit ${D}status
EOF
chmod +x shared-ld-sh
SHARED_LD_MODULE_CC="`pwd`/shared-ld-sh -bundle -headerpad_max_install_names -o"
SHARED_LD_MODULE_CXX="CXX=\"\$(CXX)\" $SHARED_LD_MODULE_CC"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc 3.1 or later" >&5
$as_echo_n "checking for gcc 3.1 or later... " >&6; }
if test "${bakefile_cv_gcc31+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#if (__GNUC__ < 3) || \
((__GNUC__ == 3) && (__GNUC_MINOR__ < 1))
This is old gcc
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
bakefile_cv_gcc31=yes
else
bakefile_cv_gcc31=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bakefile_cv_gcc31" >&5
$as_echo "$bakefile_cv_gcc31" >&6; }
if test "$bakefile_cv_gcc31" = "no"; then
SHARED_LD_CC="`pwd`/shared-ld-sh -dynamiclib -headerpad_max_install_names -o"
SHARED_LD_CXX="$SHARED_LD_CC"
else
SHARED_LD_CC="\${CC} -dynamiclib -single_module -headerpad_max_install_names -o"
SHARED_LD_CXX="\${CXX} -dynamiclib -single_module -headerpad_max_install_names -o"
fi
if test "x$GCC" == "xyes"; then
PIC_FLAG="-dynamic -fPIC"
fi
if test "x$XLCC" = "xyes"; then
PIC_FLAG="-dynamic -DPIC"
fi
;;
*-*-aix* )
if test "x$GCC" = "xyes"; then
PIC_FLAG=""
case "${BAKEFILE_HOST}" in
*-*-aix5* )
LD_EXPFULL="-Wl,-bexpfull"
;;
esac
SHARED_LD_CC="\$(CC) -shared $LD_EXPFULL -o"
SHARED_LD_CXX="\$(CXX) -shared $LD_EXPFULL -o"
else
# Extract the first word of "makeC++SharedLib", so it can be a program name with args.
set dummy makeC++SharedLib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AIX_CXX_LD+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AIX_CXX_LD"; then
ac_cv_prog_AIX_CXX_LD="$AIX_CXX_LD" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AIX_CXX_LD="makeC++SharedLib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_prog_AIX_CXX_LD" && ac_cv_prog_AIX_CXX_LD="/usr/lpp/xlC/bin/makeC++SharedLib"
fi
fi
AIX_CXX_LD=$ac_cv_prog_AIX_CXX_LD
if test -n "$AIX_CXX_LD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $AIX_CXX_LD" >&5
$as_echo "$AIX_CXX_LD" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
SHARED_LD_CC="$AIX_CC_LD -p 0 -o"
SHARED_LD_CXX="$AIX_CXX_LD -p 0 -o"
fi
;;
*-*-beos* )
SHARED_LD_CC="${LD} -nostart -o"
SHARED_LD_CXX="${LD} -nostart -o"
;;
*-*-irix* )
if test "x$GCC" != "xyes"; then
PIC_FLAG="-KPIC"
fi
;;
*-*-cygwin* | *-*-mingw32* )
PIC_FLAG=""
SHARED_LD_CC="\$(CC) -shared -o"
SHARED_LD_CXX="\$(CXX) -shared -o"
WINDOWS_IMPLIB=1
;;
*-pc-os2_emx | *-pc-os2-emx )
SHARED_LD_CC="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
SHARED_LD_CXX="`pwd`/dllar.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
PIC_FLAG=""
D='$'
cat <dllar.sh
#!/bin/sh
#
# dllar - a tool to build both a .dll and an .a file
# from a set of object (.o) files for EMX/OS2.
#
# Written by Andrew Zabolotny, bit@freya.etu.ru
# Ported to Unix like shell by Stefan Neis, Stefan.Neis@t-online.de
#
# This script will accept a set of files on the command line.
# All the public symbols from the .o files will be exported into
# a .DEF file, then linker will be run (through gcc) against them to
# build a shared library consisting of all given .o files. All libraries
# (.a) will be first decompressed into component .o files then act as
# described above. You can optionally give a description (-d "description")
# which will be put into .DLL. To see the list of accepted options (as well
# as command-line format) simply run this program without options. The .DLL
# is built to be imported by name (there is no guarantee that new versions
# of the library you build will have same ordinals for same symbols).
#
# dllar is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# dllar 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 dllar; see the file COPYING. If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# To successfuly run this program you will need:
# - Current drive should have LFN support (HPFS, ext2, network, etc)
# (Sometimes dllar generates filenames which won't fit 8.3 scheme)
# - gcc
# (used to build the .dll)
# - emxexp
# (used to create .def file from .o files)
# - emximp
# (used to create .a file from .def file)
# - GNU text utilites (cat, sort, uniq)
# used to process emxexp output
# - GNU file utilities (mv, rm)
# - GNU sed
# - lxlite (optional, see flag below)
# (used for general .dll cleanup)
#
flag_USE_LXLITE=1;
#
# helper functions
# basnam, variant of basename, which does _not_ remove the path, _iff_
# second argument (suffix to remove) is given
basnam(){
case ${D}# in
1)
echo ${D}1 | sed 's/.*\\///' | sed 's/.*\\\\//'
;;
2)
echo ${D}1 | sed 's/'${D}2'${D}//'
;;
*)
echo "error in basnam ${D}*"
exit 8
;;
esac
}
# Cleanup temporary files and output
CleanUp() {
cd ${D}curDir
for i in ${D}inputFiles ; do
case ${D}i in
*!)
rm -rf \`basnam ${D}i !\`
;;
*)
;;
esac
done
# Kill result in case of failure as there is just to many stupid make/nmake
# things out there which doesn't do this.
if [ ${D}# -eq 0 ]; then
rm -f ${D}arcFile ${D}arcFile2 ${D}defFile ${D}dllFile
fi
}
# Print usage and exit script with rc=1.
PrintHelp() {
echo 'Usage: dllar.sh [-o[utput] output_file] [-i[mport] importlib_name]'
echo ' [-name-mangler-script script.sh]'
echo ' [-d[escription] "dll descrption"] [-cc "CC"] [-f[lags] "CFLAGS"]'
echo ' [-ord[inals]] -ex[clude] "symbol(s)"'
echo ' [-libf[lags] "{INIT|TERM}{GLOBAL|INSTANCE}"] [-nocrt[dll]] [-nolxl[ite]]'
echo ' [*.o] [*.a]'
echo '*> "output_file" should have no extension.'
echo ' If it has the .o, .a or .dll extension, it is automatically removed.'
echo ' The import library name is derived from this and is set to "name".a,'
echo ' unless overridden by -import'
echo '*> "importlib_name" should have no extension.'
echo ' If it has the .o, or .a extension, it is automatically removed.'
echo ' This name is used as the import library name and may be longer and'
echo ' more descriptive than the DLL name which has to follow the old '
echo ' 8.3 convention of FAT.'
echo '*> "script.sh may be given to override the output_file name by a'
echo ' different name. It is mainly useful if the regular make process'
echo ' of some package does not take into account OS/2 restriction of'
echo ' DLL name lengths. It takes the importlib name as input and is'
echo ' supposed to procude a shorter name as output. The script should'
echo ' expect to get importlib_name without extension and should produce'
echo ' a (max.) 8 letter name without extension.'
echo '*> "cc" is used to use another GCC executable. (default: gcc.exe)'
echo '*> "flags" should be any set of valid GCC flags. (default: -s -Zcrtdll)'
echo ' These flags will be put at the start of GCC command line.'
echo '*> -ord[inals] tells dllar to export entries by ordinals. Be careful.'
echo '*> -ex[clude] defines symbols which will not be exported. You can define'
echo ' multiple symbols, for example -ex "myfunc yourfunc _GLOBAL*".'
echo ' If the last character of a symbol is "*", all symbols beginning'
echo ' with the prefix before "*" will be exclude, (see _GLOBAL* above).'
echo '*> -libf[lags] can be used to add INITGLOBAL/INITINSTANCE and/or'
echo ' TERMGLOBAL/TERMINSTANCE flags to the dynamically-linked library.'
echo '*> -nocrt[dll] switch will disable linking the library against emx''s'
echo ' C runtime DLLs.'
echo '*> -nolxl[ite] switch will disable running lxlite on the resulting DLL.'
echo '*> All other switches (for example -L./ or -lmylib) will be passed'
echo ' unchanged to GCC at the end of command line.'
echo '*> If you create a DLL from a library and you do not specify -o,'
echo ' the basename for DLL and import library will be set to library name,'
echo ' the initial library will be renamed to 'name'_s.a (_s for static)'
echo ' i.e. "dllar gcc.a" will create gcc.dll and gcc.a, and the initial'
echo ' library will be renamed into gcc_s.a.'
echo '--------'
echo 'Example:'
echo ' dllar -o gcc290.dll libgcc.a -d "GNU C runtime library" -ord'
echo ' -ex "__main __ctordtor*" -libf "INITINSTANCE TERMINSTANCE"'
CleanUp
exit 1
}
# Execute a command.
# If exit code of the commnad <> 0 CleanUp() is called and we'll exit the script.
# @Uses Whatever CleanUp() uses.
doCommand() {
echo "${D}*"
eval ${D}*
rcCmd=${D}?
if [ ${D}rcCmd -ne 0 ]; then
echo "command failed, exit code="${D}rcCmd
CleanUp
exit ${D}rcCmd
fi
}
# main routine
# setup globals
cmdLine=${D}*
outFile=""
outimpFile=""
inputFiles=""
renameScript=""
description=""
CC=gcc.exe
CFLAGS="-s -Zcrtdll"
EXTRA_CFLAGS=""
EXPORT_BY_ORDINALS=0
exclude_symbols=""
library_flags=""
curDir=\`pwd\`
curDirS=curDir
case ${D}curDirS in
*/)
;;
*)
curDirS=${D}{curDirS}"/"
;;
esac
# Parse commandline
libsToLink=0
omfLinking=0
while [ ${D}1 ]; do
case ${D}1 in
-ord*)
EXPORT_BY_ORDINALS=1;
;;
-o*)
shift
outFile=${D}1
;;
-i*)
shift
outimpFile=${D}1
;;
-name-mangler-script)
shift
renameScript=${D}1
;;
-d*)
shift
description=${D}1
;;
-f*)
shift
CFLAGS=${D}1
;;
-c*)
shift
CC=${D}1
;;
-h*)
PrintHelp
;;
-ex*)
shift
exclude_symbols=${D}{exclude_symbols}${D}1" "
;;
-libf*)
shift
library_flags=${D}{library_flags}${D}1" "
;;
-nocrt*)
CFLAGS="-s"
;;
-nolxl*)
flag_USE_LXLITE=0
;;
-* | /*)
case ${D}1 in
-L* | -l*)
libsToLink=1
;;
-Zomf)
omfLinking=1
;;
*)
;;
esac
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
;;
*.dll)
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS} \`basnam ${D}1 .dll\`"
if [ ${D}omfLinking -eq 1 ]; then
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.lib"
else
EXTRA_CFLAGS="${D}{EXTRA_CFLAGS}.a"
fi
;;
*)
found=0;
if [ ${D}libsToLink -ne 0 ]; then
EXTRA_CFLAGS=${D}{EXTRA_CFLAGS}" "${D}1
else
for file in ${D}1 ; do
if [ -f ${D}file ]; then
inputFiles="${D}{inputFiles} ${D}file"
found=1
fi
done
if [ ${D}found -eq 0 ]; then
echo "ERROR: No file(s) found: "${D}1
exit 8
fi
fi
;;
esac
shift
done # iterate cmdline words
#
if [ -z "${D}inputFiles" ]; then
echo "dllar: no input files"
PrintHelp
fi
# Now extract all .o files from .a files
newInputFiles=""
for file in ${D}inputFiles ; do
case ${D}file in
*.a | *.lib)
case ${D}file in
*.a)
suffix=".a"
AR="ar"
;;
*.lib)
suffix=".lib"
AR="emxomfar"
EXTRA_CFLAGS="${D}EXTRA_CFLAGS -Zomf"
;;
*)
;;
esac
dirname=\`basnam ${D}file ${D}suffix\`"_%"
mkdir ${D}dirname
if [ ${D}? -ne 0 ]; then
echo "Failed to create subdirectory ./${D}dirname"
CleanUp
exit 8;
fi
# Append '!' to indicate archive
newInputFiles="${D}newInputFiles ${D}{dirname}!"
doCommand "cd ${D}dirname; ${D}AR x ../${D}file"
cd ${D}curDir
found=0;
for subfile in ${D}dirname/*.o* ; do
if [ -f ${D}subfile ]; then
found=1
if [ -s ${D}subfile ]; then
# FIXME: This should be: is file size > 32 byte, _not_ > 0!
newInputFiles="${D}newInputFiles ${D}subfile"
fi
fi
done
if [ ${D}found -eq 0 ]; then
echo "WARNING: there are no files in archive \\'${D}file\\'"
fi
;;
*)
newInputFiles="${D}{newInputFiles} ${D}file"
;;
esac
done
inputFiles="${D}newInputFiles"
# Output filename(s).
do_backup=0;
if [ -z ${D}outFile ]; then
do_backup=1;
set outFile ${D}inputFiles; outFile=${D}2
fi
# If it is an archive, remove the '!' and the '_%' suffixes
case ${D}outFile in
*_%!)
outFile=\`basnam ${D}outFile _%!\`
;;
*)
;;
esac
case ${D}outFile in
*.dll)
outFile=\`basnam ${D}outFile .dll\`
;;
*.DLL)
outFile=\`basnam ${D}outFile .DLL\`
;;
*.o)
outFile=\`basnam ${D}outFile .o\`
;;
*.obj)
outFile=\`basnam ${D}outFile .obj\`
;;
*.a)
outFile=\`basnam ${D}outFile .a\`
;;
*.lib)
outFile=\`basnam ${D}outFile .lib\`
;;
*)
;;
esac
case ${D}outimpFile in
*.a)
outimpFile=\`basnam ${D}outimpFile .a\`
;;
*.lib)
outimpFile=\`basnam ${D}outimpFile .lib\`
;;
*)
;;
esac
if [ -z ${D}outimpFile ]; then
outimpFile=${D}outFile
fi
defFile="${D}{outFile}.def"
arcFile="${D}{outimpFile}.a"
arcFile2="${D}{outimpFile}.lib"
#create ${D}dllFile as something matching 8.3 restrictions,
if [ -z ${D}renameScript ] ; then
dllFile="${D}outFile"
else
dllFile=\`${D}renameScript ${D}outimpFile\`
fi
if [ ${D}do_backup -ne 0 ] ; then
if [ -f ${D}arcFile ] ; then
doCommand "mv ${D}arcFile ${D}{outFile}_s.a"
fi
if [ -f ${D}arcFile2 ] ; then
doCommand "mv ${D}arcFile2 ${D}{outFile}_s.lib"
fi
fi
# Extract public symbols from all the object files.
tmpdefFile=${D}{defFile}_%
rm -f ${D}tmpdefFile
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
doCommand "emxexp -u ${D}file >> ${D}tmpdefFile"
;;
esac
done
# Create the def file.
rm -f ${D}defFile
echo "LIBRARY \`basnam ${D}dllFile\` ${D}library_flags" >> ${D}defFile
dllFile="${D}{dllFile}.dll"
if [ ! -z ${D}description ]; then
echo "DESCRIPTION \\"${D}{description}\\"" >> ${D}defFile
fi
echo "EXPORTS" >> ${D}defFile
doCommand "cat ${D}tmpdefFile | sort.exe | uniq.exe > ${D}{tmpdefFile}%"
grep -v "^ *;" < ${D}{tmpdefFile}% | grep -v "^ *${D}" >${D}tmpdefFile
# Checks if the export is ok or not.
for word in ${D}exclude_symbols; do
grep -v ${D}word < ${D}tmpdefFile >${D}{tmpdefFile}%
mv ${D}{tmpdefFile}% ${D}tmpdefFile
done
if [ ${D}EXPORT_BY_ORDINALS -ne 0 ]; then
sed "=" < ${D}tmpdefFile | \\
sed '
N
: loop
s/^\\([0-9]\\+\\)\\([^;]*\\)\\(;.*\\)\\?/\\2 @\\1 NONAME/
t loop
' > ${D}{tmpdefFile}%
grep -v "^ *${D}" < ${D}{tmpdefFile}% > ${D}tmpdefFile
else
rm -f ${D}{tmpdefFile}%
fi
cat ${D}tmpdefFile >> ${D}defFile
rm -f ${D}tmpdefFile
# Do linking, create implib, and apply lxlite.
gccCmdl="";
for file in ${D}inputFiles ; do
case ${D}file in
*!)
;;
*)
gccCmdl="${D}gccCmdl ${D}file"
;;
esac
done
doCommand "${D}CC ${D}CFLAGS -Zdll -o ${D}dllFile ${D}defFile ${D}gccCmdl ${D}EXTRA_CFLAGS"
touch "${D}{outFile}.dll"
doCommand "emximp -o ${D}arcFile ${D}defFile"
if [ ${D}flag_USE_LXLITE -ne 0 ]; then
add_flags="";
if [ ${D}EXPORT_BY_ORDINALS -ne 0 ]; then
add_flags="-ynd"
fi
doCommand "lxlite -cs -t: -mrn -mln ${D}add_flags ${D}dllFile"
fi
doCommand "emxomf -s -l ${D}arcFile"
# Successful exit.
CleanUp 1
exit 0
EOF
chmod +x dllar.sh
;;
powerpc-apple-macos* | \
*-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-k*bsd*-gnu | \
*-*-mirbsd* | \
*-*-sunos4* | \
*-*-osf* | \
*-*-dgux5* | \
*-*-sysv5* | \
*-pc-msdosdjgpp )
;;
*)
as_fn_error $? "unknown system type $BAKEFILE_HOST." "$LINENO" 5
esac
if test "x$PIC_FLAG" != "x" ; then
PIC_FLAG="$PIC_FLAG -DPIC"
fi
if test "x$SHARED_LD_MODULE_CC" = "x" ; then
SHARED_LD_MODULE_CC="$SHARED_LD_CC"
fi
if test "x$SHARED_LD_MODULE_CXX" = "x" ; then
SHARED_LD_MODULE_CXX="$SHARED_LD_CXX"
fi
USE_SOVERSION=0
USE_SOVERLINUX=0
USE_SOVERSOLARIS=0
USE_SOVERCYGWIN=0
USE_SOTWOSYMLINKS=0
USE_MACVERSION=0
SONAME_FLAG=
case "${BAKEFILE_HOST}" in
*-*-linux* | *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \
*-*-k*bsd*-gnu | *-*-mirbsd* )
if test "x$SUNCXX" = "xyes"; then
SONAME_FLAG="-h "
else
SONAME_FLAG="-Wl,-soname,"
fi
USE_SOVERSION=1
USE_SOVERLINUX=1
USE_SOTWOSYMLINKS=1
;;
*-*-solaris2* )
SONAME_FLAG="-h "
USE_SOVERSION=1
USE_SOVERSOLARIS=1
;;
*-*-darwin* )
USE_MACVERSION=1
USE_SOVERSION=1
USE_SOTWOSYMLINKS=1
;;
*-*-cygwin* )
USE_SOVERSION=1
USE_SOVERCYGWIN=1
;;
esac
# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then :
enableval=$enable_dependency_tracking; bk_use_trackdeps="$enableval"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dependency tracking method" >&5
$as_echo_n "checking for dependency tracking method... " >&6; }
BK_DEPS=""
if test "x$bk_use_trackdeps" = "xno" ; then
DEPS_TRACKING=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
$as_echo "disabled" >&6; }
else
DEPS_TRACKING=1
if test "x$GCC" = "xyes"; then
DEPSMODE=gcc
case "${BAKEFILE_HOST}" in
*-*-darwin* )
DEPSFLAG="-no-cpp-precomp -MMD"
;;
* )
DEPSFLAG="-MMD"
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: gcc" >&5
$as_echo "gcc" >&6; }
elif test "x$MWCC" = "xyes"; then
DEPSMODE=mwcc
DEPSFLAG="-MM"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: mwcc" >&5
$as_echo "mwcc" >&6; }
elif test "x$SUNCC" = "xyes"; then
DEPSMODE=unixcc
DEPSFLAG="-xM1"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Sun cc" >&5
$as_echo "Sun cc" >&6; }
elif test "x$SGICC" = "xyes"; then
DEPSMODE=unixcc
DEPSFLAG="-M"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: SGI cc" >&5
$as_echo "SGI cc" >&6; }
elif test "x$HPCC" = "xyes"; then
DEPSMODE=unixcc
DEPSFLAG="+make"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: HP cc" >&5
$as_echo "HP cc" >&6; }
elif test "x$COMPAQCC" = "xyes"; then
DEPSMODE=gcc
DEPSFLAG="-MD"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Compaq cc" >&5
$as_echo "Compaq cc" >&6; }
else
DEPS_TRACKING=0
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
$as_echo "none" >&6; }
fi
if test $DEPS_TRACKING = 1 ; then
D='$'
cat <bk-deps
#!/bin/sh
# This script is part of Bakefile (http://www.bakefile.org) autoconf
# script. It is used to track C/C++ files dependencies in portable way.
#
# Permission is given to use this file in any way.
DEPSMODE=${DEPSMODE}
DEPSFLAG="${DEPSFLAG}"
DEPSDIRBASE=.deps
if test ${D}DEPSMODE = gcc ; then
${D}* ${D}{DEPSFLAG}
status=${D}?
# determine location of created files:
while test ${D}# -gt 0; do
case "${D}1" in
-o )
shift
objfile=${D}1
;;
-* )
;;
* )
srcfile=${D}1
;;
esac
shift
done
objfilebase=\`basename ${D}objfile\`
builddir=\`dirname ${D}objfile\`
depfile=\`basename ${D}srcfile | sed -e 's/\\..*${D}/.d/g'\`
depobjname=\`echo ${D}depfile |sed -e 's/\\.d/.o/g'\`
depsdir=${D}builddir/${D}DEPSDIRBASE
mkdir -p ${D}depsdir
# if the compiler failed, we're done:
if test ${D}{status} != 0 ; then
rm -f ${D}depfile
exit ${D}{status}
fi
# move created file to the location we want it in:
if test -f ${D}depfile ; then
sed -e "s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{depsdir}/${D}{objfilebase}.d
rm -f ${D}depfile
else
# "g++ -MMD -o fooobj.o foosrc.cpp" produces fooobj.d
depfile=\`echo "${D}objfile" | sed -e 's/\\..*${D}/.d/g'\`
if test ! -f ${D}depfile ; then
# "cxx -MD -o fooobj.o foosrc.cpp" creates fooobj.o.d (Compaq C++)
depfile="${D}objfile.d"
fi
if test -f ${D}depfile ; then
sed -e "\\,^${D}objfile,!s,${D}depobjname:,${D}objfile:,g" ${D}depfile >${D}{depsdir}/${D}{objfilebase}.d
rm -f ${D}depfile
fi
fi
exit 0
elif test ${D}DEPSMODE = mwcc ; then
${D}* || exit ${D}?
# Run mwcc again with -MM and redirect into the dep file we want
# NOTE: We can't use shift here because we need ${D}* to be valid
prevarg=
for arg in ${D}* ; do
if test "${D}prevarg" = "-o"; then
objfile=${D}arg
else
case "${D}arg" in
-* )
;;
* )
srcfile=${D}arg
;;
esac
fi
prevarg="${D}arg"
done
objfilebase=\`basename ${D}objfile\`
builddir=\`dirname ${D}objfile\`
depsdir=${D}builddir/${D}DEPSDIRBASE
mkdir -p ${D}depsdir
${D}* ${D}DEPSFLAG >${D}{depsdir}/${D}{objfilebase}.d
exit 0
elif test ${D}DEPSMODE = unixcc; then
${D}* || exit ${D}?
# Run compiler again with deps flag and redirect into the dep file.
# It doesn't work if the '-o FILE' option is used, but without it the
# dependency file will contain the wrong name for the object. So it is
# removed from the command line, and the dep file is fixed with sed.
cmd=""
while test ${D}# -gt 0; do
case "${D}1" in
-o )
shift
objfile=${D}1
;;
* )
eval arg${D}#=\\${D}1
cmd="${D}cmd \\${D}arg${D}#"
;;
esac
shift
done
objfilebase=\`basename ${D}objfile\`
builddir=\`dirname ${D}objfile\`
depsdir=${D}builddir/${D}DEPSDIRBASE
mkdir -p ${D}depsdir
eval "${D}cmd ${D}DEPSFLAG" | sed "s|.*:|${D}objfile:|" >${D}{depsdir}/${D}{objfilebase}.d
exit 0
else
${D}*
exit ${D}?
fi
EOF
chmod +x bk-deps
BK_DEPS="`pwd`/bk-deps"
fi
fi
case ${BAKEFILE_HOST} in
*-*-cygwin* | *-*-mingw32* )
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
set dummy ${ac_tool_prefix}windres; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_WINDRES+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$WINDRES"; then
ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_WINDRES="${ac_tool_prefix}windres"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
WINDRES=$ac_cv_prog_WINDRES
if test -n "$WINDRES"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINDRES" >&5
$as_echo "$WINDRES" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_WINDRES"; then
ac_ct_WINDRES=$WINDRES
# Extract the first word of "windres", so it can be a program name with args.
set dummy windres; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_WINDRES+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_WINDRES"; then
ac_cv_prog_ac_ct_WINDRES="$ac_ct_WINDRES" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_WINDRES="windres"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_WINDRES=$ac_cv_prog_ac_ct_WINDRES
if test -n "$ac_ct_WINDRES"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WINDRES" >&5
$as_echo "$ac_ct_WINDRES" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_WINDRES" = x; then
WINDRES=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
WINDRES=$ac_ct_WINDRES
fi
else
WINDRES="$ac_cv_prog_WINDRES"
fi
;;
*-*-darwin* | powerpc-apple-macos* )
# Extract the first word of "Rez", so it can be a program name with args.
set dummy Rez; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_REZ+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$REZ"; then
ac_cv_prog_REZ="$REZ" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_REZ="Rez"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_prog_REZ" && ac_cv_prog_REZ="/Developer/Tools/Rez"
fi
fi
REZ=$ac_cv_prog_REZ
if test -n "$REZ"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $REZ" >&5
$as_echo "$REZ" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
# Extract the first word of "SetFile", so it can be a program name with args.
set dummy SetFile; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_SETFILE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$SETFILE"; then
ac_cv_prog_SETFILE="$SETFILE" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_SETFILE="SetFile"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_prog_SETFILE" && ac_cv_prog_SETFILE="/Developer/Tools/SetFile"
fi
fi
SETFILE=$ac_cv_prog_SETFILE
if test -n "$SETFILE"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SETFILE" >&5
$as_echo "$SETFILE" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
;;
esac
BAKEFILE_BAKEFILE_M4_VERSION="0.2.9"
BAKEFILE_AUTOCONF_INC_M4_VERSION="0.2.9"
# Check whether --enable-precomp-headers was given.
if test "${enable_precomp_headers+set}" = set; then :
enableval=$enable_precomp_headers; bk_use_pch="$enableval"
fi
GCC_PCH=0
ICC_PCH=0
USE_PCH=0
BK_MAKE_PCH=""
case ${BAKEFILE_HOST} in
*-*-cygwin* )
bk_use_pch="no"
;;
esac
if test "x$bk_use_pch" = "x" -o "x$bk_use_pch" = "xyes" ; then
if test "x$GCC" = "xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler supports precompiled headers" >&5
$as_echo_n "checking if the compiler supports precompiled headers... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#if !defined(__GNUC__) || !defined(__GNUC_MINOR__)
There is no PCH support
#endif
#if (__GNUC__ < 3)
There is no PCH support
#endif
#if (__GNUC__ == 3) && \
((!defined(__APPLE_CC__) && (__GNUC_MINOR__ < 4)) || \
( defined(__APPLE_CC__) && (__GNUC_MINOR__ < 3))) || \
( defined(__INTEL_COMPILER) )
There is no PCH support
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
GCC_PCH=1
else
if test "$INTELCXX8" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
ICC_PCH=1
if test "$INTELCXX10" = "yes"; then
ICC_PCH_CREATE_SWITCH="-pch-create"
ICC_PCH_USE_SWITCH="-pch-use"
else
ICC_PCH_CREATE_SWITCH="-create-pch"
ICC_PCH_USE_SWITCH="-use-pch"
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $GCC_PCH = 1 -o $ICC_PCH = 1 ; then
USE_PCH=1
D='$'
cat <bk-make-pch
#!/bin/sh
# This script is part of Bakefile (http://www.bakefile.org) autoconf
# script. It is used to generated precompiled headers.
#
# Permission is given to use this file in any way.
outfile="${D}{1}"
header="${D}{2}"
shift
shift
builddir=\`echo ${D}outfile | sed -e 's,/\\.pch/.*${D},,g'\`
compiler=""
headerfile=""
while test ${D}{#} -gt 0; do
add_to_cmdline=1
case "${D}{1}" in
-I* )
incdir=\`echo ${D}{1} | sed -e 's/-I\\(.*\\)/\\1/g'\`
if test "x${D}{headerfile}" = "x" -a -f "${D}{incdir}/${D}{header}" ; then
headerfile="${D}{incdir}/${D}{header}"
fi
;;
-use-pch|-use_pch|-pch-use )
shift
add_to_cmdline=0
;;
esac
if test ${D}add_to_cmdline = 1 ; then
compiler="${D}{compiler} ${D}{1}"
fi
shift
done
if test "x${D}{headerfile}" = "x" ; then
echo "error: can't find header ${D}{header} in include paths" >&2
else
if test -f ${D}{outfile} ; then
rm -f ${D}{outfile}
else
mkdir -p \`dirname ${D}{outfile}\`
fi
depsfile="${D}{builddir}/.deps/\`echo ${D}{outfile} | tr '/.' '__'\`.d"
mkdir -p ${D}{builddir}/.deps
if test "x${GCC_PCH}" = "x1" ; then
# can do this because gcc is >= 3.4:
${D}{compiler} -o ${D}{outfile} -MMD -MF "${D}{depsfile}" "${D}{headerfile}"
elif test "x${ICC_PCH}" = "x1" ; then
filename=pch_gen-${D}${D}
file=${D}{filename}.c
dfile=${D}{filename}.d
cat > ${D}file < ${D}depsfile && \\
rm -f ${D}file ${D}dfile ${D}{filename}.o
fi
exit ${D}{?}
fi
EOF
chmod +x bk-make-pch
BK_MAKE_PCH="`pwd`/bk-make-pch"
fi
fi
fi
COND_DEPS_TRACKING_0="#"
if test "x$DEPS_TRACKING" = "x0" ; then
COND_DEPS_TRACKING_0=""
fi
COND_DEPS_TRACKING_1="#"
if test "x$DEPS_TRACKING" = "x1" ; then
COND_DEPS_TRACKING_1=""
fi
COND_FINAL_0="#"
if test "x$FINAL" = "x0" ; then
COND_FINAL_0=""
fi
COND_FINAL_1="#"
if test "x$FINAL" = "x1" ; then
COND_FINAL_1=""
fi
COND_GCC_PCH_1="#"
if test "x$GCC_PCH" = "x1" ; then
COND_GCC_PCH_1=""
fi
COND_ICC_PCH_1="#"
if test "x$ICC_PCH" = "x1" ; then
COND_ICC_PCH_1=""
fi
COND_PLATFORM_MACOSX_1="#"
if test "x$PLATFORM_MACOSX" = "x1" ; then
COND_PLATFORM_MACOSX_1=""
fi
COND_PLATFORM_MAC_0="#"
if test "x$PLATFORM_MAC" = "x0" ; then
COND_PLATFORM_MAC_0=""
fi
COND_PLATFORM_MAC_1="#"
if test "x$PLATFORM_MAC" = "x1" ; then
COND_PLATFORM_MAC_1=""
fi
COND_PLATFORM_OS2_1="#"
if test "x$PLATFORM_OS2" = "x1" ; then
COND_PLATFORM_OS2_1=""
fi
COND_PLATFORM_UNIX_1="#"
if test "x$PLATFORM_UNIX" = "x1" ; then
COND_PLATFORM_UNIX_1=""
fi
COND_PLATFORM_WIN32_1="#"
if test "x$PLATFORM_WIN32" = "x1" ; then
COND_PLATFORM_WIN32_1=""
fi
COND_STATICRTL_0="#"
if test "x$STATICRTL" = "x0" ; then
COND_STATICRTL_0=""
fi
COND_STATICRTL_1="#"
if test "x$STATICRTL" = "x1" ; then
COND_STATICRTL_1=""
fi
COND_UNICODE_1="#"
if test "x$UNICODE" = "x1" ; then
COND_UNICODE_1=""
fi
COND_USEDLL_1="#"
if test "x$USEDLL" = "x1" ; then
COND_USEDLL_1=""
fi
COND_USE_PCH_1="#"
if test "x$USE_PCH" = "x1" ; then
COND_USE_PCH_1=""
fi
if test "$BAKEFILE_AUTOCONF_INC_M4_VERSION" = "" ; then
as_fn_error $? "No version found in autoconf_inc.m4 - bakefile macro was changed to take additional argument, perhaps configure.in wasn't updated (see the documentation)?" "$LINENO" 5
fi
if test "$BAKEFILE_BAKEFILE_M4_VERSION" != "$BAKEFILE_AUTOCONF_INC_M4_VERSION" ; then
as_fn_error $? "Versions of Bakefile used to generate makefiles ($BAKEFILE_AUTOCONF_INC_M4_VERSION) and configure ($BAKEFILE_BAKEFILE_M4_VERSION) do not match." "$LINENO" 5
fi
if test $GCC_PCH = 1 ; then
CPPFLAGS="$CPPFLAGS -DWX_PRECOMP"
fi
if test "x$prefix" != "xNONE"; then
FR_PREFIX=$prefix
else
FR_PREFIX=$ac_default_prefix
fi
cat >>confdefs.h <<_ACEOF
#define FR_INSTALL_PREFIX "$FR_PREFIX"
_ACEOF
WX_INCLUDES=""
for opt in $WX_CPPFLAGS
do
case "$opt" in
-I*)
WX_INCLUDES="$WX_INCLUDES --include-dir `echo "$opt" | sed 's/^-I//'`"
;;
esac
done
ac_config_headers="$ac_config_headers frconfig.h:frconfig.h.in"
ac_config_files="$ac_config_files Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs, see configure's option --config-cache.
# It is not useful on other systems. If it contains results you don't
# want to keep, you may remove or edit it.
#
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
# `ac_cv_env_foo' variables (set or unset) will be overridden when
# loading this file, other *unset* `ac_cv_foo' will be assigned the
# following values.
_ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(
for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes: double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \.
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
) |
sed '
/^ac_cv_env_/b end
t clear
:clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
test "x$cache_file" != "x/dev/null" &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
: ${CONFIG_STATUS=./config.status}
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
as_write_fail=0
cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.
debug=false
ac_cs_recheck=false
ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
export SHELL
_ASEOF
cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='print -r --'
as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
as_echo_n='/usr/ucb/echo -n'
else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
case $arg in #(
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
esac;
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
'
export as_echo_n_body
as_echo_n='sh -c $as_echo_n_body as_echo'
fi
export as_echo_body
as_echo='sh -c $as_echo_body as_echo'
fi
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there. '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
$as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
$as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -p'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
else
as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
if test -x / >/dev/null 2>&1; then
as_test_x='test -x'
else
if ls -dL / >/dev/null 2>&1; then
as_ls_L_option=L
else
as_ls_L_option=
fi
as_test_x='
eval sh -c '\''
if test -d "$1"; then
test -d "$1/.";
else
case $1 in #(
-*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
fi
as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 6>&1
## ----------------------------------- ##
## Main body of $CONFIG_STATUS script. ##
## ----------------------------------- ##
_ASEOF
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by $as_me, which was
generated by GNU Autoconf 2.67. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
on `(hostname || uname -n) 2>/dev/null | sed 1q`
"
_ACEOF
case $ac_config_files in *"
"*) set x $ac_config_files; shift; ac_config_files=$*;;
esac
case $ac_config_headers in *"
"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
esac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files and other configuration actions
from templates according to the current configuration. Unless the files
and actions are specified as TAGs, all are instantiated by default.
Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
instantiate the configuration file FILE
--header=FILE[:TEMPLATE]
instantiate the configuration header FILE
Configuration files:
$config_files
Configuration headers:
$config_headers
Report bugs to the package provider."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
config.status
configured by $0, generated by GNU Autoconf 2.67,
with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
test -n "\$AWK" || AWK=awk
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
--*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
--*=)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=
ac_shift=:
;;
*)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
esac
case $ac_option in
# Handling of the options.
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
$as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
'') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
as_fn_append CONFIG_HEADERS " '$ac_optarg'"
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
--help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
-*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
ac_need_defaults=false ;;
esac
shift
done
ac_configure_extra_args=
if $ac_cs_silent; then
exec 6>/dev/null
ac_configure_extra_args="$ac_configure_extra_args --silent"
fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
exec "\$@"
fi
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
$as_echo "$ac_log"
} >&5
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"frconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS frconfig.h:frconfig.h.in" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
esac
done
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
fi
# Have a temporary directory for convenience. Make it in the build tree
# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
tmp=
trap 'exit_status=$?
{ test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
ac_cr=`echo X | tr X '\015'`
# On cygwin, bash can eat \r inside `` if the user requested igncr.
# But we know of no other shell where ac_cr would be empty at this
# point, so we can use a bashism as a fallback.
if test "x$ac_cr" = x; then
eval ac_cr=\$\'\\r\'
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF
{
echo "cat >conf$$subs.awk <<_ACEOF" &&
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' >$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
}
{
line = $ 0
nfields = split(line, field, "@")
substed = 0
len = length(field[1])
for (i = 2; i < nfields; i++) {
key = field[i]
keylen = length(key)
if (S_is_set[key]) {
value = S[key]
line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
len += length(value) + length(field[++i])
substed = 1
} else
len += 1 + keylen
}
print line
}
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
h
s///
s/^/:/
s/[ ]*$/:/
s/:\$(srcdir):/:/g
s/:\${srcdir}:/:/g
s/:@srcdir@:/:/g
s/^:*//
s/:*$//
x
s/\(=[ ]*\).*/\1/
G
s/\n//
s/^[^=]*=[ ]*$//
}'
fi
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
# Set up the scripts for CONFIG_HEADERS section.
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
cat >"$tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
# Transform confdefs.h into an awk script `defines.awk', embedded as
# here-document in config.status, that substitutes the proper values into
# config.h.in to produce config.h.
# Create a delimiter string that does not exist in confdefs.h, to ease
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
ac_t=`sed -n "/$ac_delim/p" confdefs.h`
if test -z "$ac_t"; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
# For the awk script, D is an array of macro values keyed by name,
# likewise P contains macro parameters if any. Preserve backslash
# newline sequences.
ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
sed -n '
s/.\{148\}/&'"$ac_delim"'/g
t rset
:rset
s/^[ ]*#[ ]*define[ ][ ]*/ /
t def
d
:def
s/\\$//
t bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3"/p
s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
d
:bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3\\\\\\n"\\/p
t cont
s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
t cont
d
:cont
n
s/.\{148\}/&'"$ac_delim"'/g
t clear
:clear
s/\\$//
t bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/"/p
d
:bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
b cont
' >$CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
for (key in D) D_is_set[key] = 1
FS = ""
}
/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
line = \$ 0
split(line, arg, " ")
if (arg[1] == "#") {
defundef = arg[2]
mac1 = arg[3]
} else {
defundef = substr(arg[1], 2)
mac1 = arg[2]
}
split(mac1, mac2, "(") #)
macro = mac2[1]
prefix = substr(line, 1, index(line, defundef) - 1)
if (D_is_set[macro]) {
# Preserve the white space surrounding the "#".
print prefix "define", macro P[macro] D[macro]
next
} else {
# Replace #undef with comments. This is necessary, for example,
# in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
if (defundef == "undef") {
print "/*", prefix defundef, macro, "*/"
next
}
}
}
{ print }
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"
eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
shift
for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
ac_save_IFS=$IFS
IFS=:
set x $ac_tag
IFS=$ac_save_IFS
shift
ac_file=$1
shift
case $ac_mode in
:L) ac_source=$1;;
:[FH])
ac_file_inputs=
for ac_f
do
case $ac_f in
-) ac_f="$tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
test -f "$ac_f" ||
case $ac_f in
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
configure_input='Generated from '`
$as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
`' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
$as_echo "$as_me: creating $ac_file" >&6;}
fi
# Neutralize special characters interpreted by sed in replacement strings.
case $configure_input in #(
*\&* | *\|* | *\\* )
ac_sed_conf_input=`$as_echo "$configure_input" |
sed 's/[\\\\&|]/\\\\&/g'`;; #(
*) ac_sed_conf_input=$configure_input;;
esac
case $ac_tag in
*:-:* | *:-) cat >"$tmp/stdin" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
as_dir="$ac_dir"; as_fn_mkdir_p
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
case $ac_mode in
:F)
#
# CONFIG_FILE
#
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
*) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
ac_sed_dataroot='
/datarootdir/ {
p
q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&2;}
rm -f "$tmp/stdin"
case $ac_file in
-) cat "$tmp/out" && rm -f "$tmp/out";;
*) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
# CONFIG_HEADER
#
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
} >"$tmp/config.h" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
mv "$tmp/config.h" "$ac_file" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
|| as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
esac
done # for ac_tag
as_fn_exit 0
_ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded. So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status. When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
ac_cs_success=:
ac_config_status_args=
test "$silent" = yes &&
ac_config_status_args="$ac_config_status_args --quiet"
exec 5>/dev/null
$SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
$ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
flamerobin_0.9.3~svn+2220.orig/configure.in 0000664 0000000 0000000 00000006467 11770571553 0020531 0 ustar 00root root 0000000 0000000 AC_PREREQ(2.53)
AC_INIT(aclocal.m4)
AC_CANONICAL_SYSTEM
AM_OPTIONS_WXCONFIG
AC_PROG_CXX
AC_ARG_ENABLE(debug,
[ --enable-debug Enable debugging information],
USE_DEBUG="$enableval", USE_DEBUG="no")
if test $USE_DEBUG = yes ; then
DEBUG=1
FINAL=0
dnl Bakefile doesn't touch {C,CPP,CXX,LD}FLAGS in autoconf format, we
dnl have to do it ourselves. (Incorrectly) assuming GCC here:
CFLAGS="$CFLAGS -g"
else
DEBUG=0
FINAL=1
fi
# Check for wxWidgets
AM_PATH_WXCONFIG([2.8.0], [], [
AC_MSG_ERROR([
wxWidgets must be installed on your system
but wx-config script couldn't be found.
Please check that wx-config is in path, the directory
where wxWidgets libraries are installed (returned by
'wx-config --libs' command) is in LD_LIBRARY_PATH or
equivalent variable and wxWidgets version is 2.8.0 or above.
])], [aui,stc,std])
AC_LANG_PUSH([C++])
# Check for Boost headers
AC_ARG_WITH([boost-include-path],
[AS_HELP_STRING([--with-boost-include-path],
[Location of the Boost library headers (optional)])],
[BOOSTINCLUDEPATH=$withval], [])
AS_IF([test "x$BOOSTINCLUDEPATH" != "x"],
[CPPFLAGS="$CPPFLAGS -I$BOOSTINCLUDEPATH"])
AC_CHECK_HEADER([boost/shared_ptr.hpp], [],
[AC_MSG_ERROR([
boost/shared_ptr.hpp not found.
Install libboost-dev Boost C++ Libraries development files.
In Debian/Ubuntu 'sudo apt-get install libboost-dev'
])], [])
AC_CHECK_HEADER([boost/function.hpp], [],
[AC_MSG_ERROR([
boost/function.hpp not found.
Install libboost-dev Boost C++ Libraries development files.
In Debian/Ubuntu 'sudo apt-get install libboost-dev'
])], [])
# Link to Firebird client library
case "${host}" in
*-*-cygwin* | *-*-mingw32* )
dnl Windows builds dynamically link to the Firebird client library
;;
*-*-darwin* )
dnl Mac OS X uses the Firebird framework
LIBS="$LIBS -framework Firebird"
;;
* )
AC_SEARCH_LIBS([isc_attach_database], [fbclient fbembed], [],
[AC_MSG_ERROR([
Firebird client library not found
Install Firebird server development files.
In Debian/Ubuntu 'sudo apt-get install firebird2.5-dev'
])])
esac
CPPFLAGS="$CPPFLAGS $WX_CXXFLAGS"
LDFLAGS="$LDFLAGS $WX_LDFLAGS $WX_LIBS"
AC_BAKEFILE([m4_include(autoconf_inc.m4)])
if test $GCC_PCH = 1 ; then
CPPFLAGS="$CPPFLAGS -DWX_PRECOMP"
fi
dnl -----------------------------------------------------------------------
dnl install prefix
dnl -----------------------------------------------------------------------
if test "x$prefix" != "xNONE"; then
FR_PREFIX=$prefix
else
FR_PREFIX=$ac_default_prefix
fi
AC_DEFINE_UNQUOTED(FR_INSTALL_PREFIX, "$FR_PREFIX")
dnl -----------------------------------------------------------------------
dnl wxWidgets include directories to find wx.rc
dnl -----------------------------------------------------------------------
WX_INCLUDES=""
for opt in $WX_CPPFLAGS
do
case "$opt" in
-I*)
WX_INCLUDES="$WX_INCLUDES --include-dir `echo "$opt" | sed 's/^-I//'`"
;;
esac
done
AC_SUBST(WX_INCLUDES)
AC_CONFIG_HEADERS([ frconfig.h:frconfig.h.in ])
AC_CONFIG_FILES([ Makefile ])
AC_OUTPUT
flamerobin_0.9.3~svn+2220.orig/devdocs/ 0000775 0000000 0000000 00000000000 11770571553 0017632 5 ustar 00root root 0000000 0000000 flamerobin_0.9.3~svn+2220.orig/devdocs/Creating_Linux_Packages.txt 0000664 0000000 0000000 00000002261 11770571553 0025105 0 ustar 00root root 0000000 0000000 Linux .tar.bz2 packages are made by building the executable, stripping it and
packing the directory with needed files. I usually hand-edit Makefile and
change the paths, so that user can simply type:
make install
after unpacking it.
Here are few things to remember (a simple reminder for me):
1. Change ginstall to install in Makefile
I build packages on Slackware and it detects ginstall, which isn't available
on most newer versions of other distributions. In fact, I think ginstall was
from my old Mandrake 9.0. It doesn't matter where it came from, just to remove
it.
2. Exclude TIFF library when building
FlameRobin doesn't show any tiff images anyway, and many times it conflicts
with libtiff versions of other distributions. I guess same could be done for
gif and other stuff we don't use, so I'll just build a special version of
wxWidgets, just for the purpose of FR release.
Some other libs. may also have different versions, but wxWidgets has own
version of those, so here's a configure line for wxWidgets:
./configure --disable-debug --disable-shared --enable-unicode \
--with-libjpeg=builtin --with-libtiff=builtin --with-expat=builtin \
--with-libpng=builtin --with-zlib=builtin
flamerobin_0.9.3~svn+2220.orig/devdocs/Dev-Cpp_How_to_build.txt 0000664 0000000 0000000 00000005223 11770571553 0024331 0 ustar 00root root 0000000 0000000 Building FlameRobin on Windows with Dev-C++
===========================================
This document is a collection of quick notes about building FlameRobin on Windows with Dev-C++.
Dev-C++ is an integrated C++ development environment written in (and resembling, to some extent) Delphi. It uses the Mingw port of GCC as the compiler (and gdb as the debugger). Dev-C++ is free software; you can get it here:
http://www.bloodshed.net/dev/
Make sure you get the latest version available. I have used version 4.9.9.0 which is basically a 5.0 beta (yet very stable) version.
To build FlameRobin you have to check-out the flamerobin1 module from the projects's CVS tree, and get some tools apart from Dev-C++.
You need to check-out and compile branch rel_2_3 of IBPP. IBPP is the database access layer on which FlameRobin is built, and is of course free software as well. You can view the sources here:
http://cvs.sourceforge.net/viewcvs.py/ibpp/ibpp2/?only_with_tag=rel_2_3
Note that FlameRobin needs at least this version of IBPP. In case information is needed on how to compile IBPP with Dev-C++, you can contact me (nandod@dedonline.com); I can provide a Dev-C++ project or pre-built IBPP.a.
Time for the GUI subsystem. FlameRobin needs at least version 2.4.2 of wxWidgets (http://www.wxwidgets.org) and the additional STC (StyledTextControl) component. All of this is open source. You can even get them pre-packaged for installation into Dev-C++ here:
http://michel.weinachter.free.fr/
Please note you're going to need all the three packages (imagelib, wxWindows 2.4.2 and wxWindows 2.4.2-contrib). Refer to the Dev-C++ documentation for instruction on how to install the packages (which is a straightforward process anyway).
Once all the pieces are in place, you just need to open flamerobin.dev in Dev-C++ and build it. You don't need to touch any IDE or compiler environment setting, but you might need to modify the project options (which translates to changes to the flamerobin.dev and makefile.win files) in case you don't have ibpp installed in the same path I have used (../../../CppLibs/IBPP/ibpp2/IBPP.a). You can change this in Dev-C++ through the Project Options dialog (pages Parameters/Linker and Directories/Include Directories).
The same applies to the Directories/Resource Directories setting, which is hard-coded as "C:\Dev-Cpp\include".
I am aware that this setup might not be optimal, but I stopped tweaking it when it started to work :-). I am a newbie with C++ myself and coming from a Delphi background (that's why I have used Dev-C++). Thus, suggestions for streamlining the build process or enhancement to the makefile are welcome.
Nando Dessena
nandod@dedonline.com
flamerobin_0.9.3~svn+2220.orig/devdocs/Files_and_paths.txt 0000664 0000000 0000000 00000013313 11770571553 0023457 0 ustar 00root root 0000000 0000000 FlameRobin: support & config file paths roundup
Files needed by FR:
- $conf - a config file (config.ini, to be renamed fr_settings.conf)
- $db - a database connection definition file (servers.xml, to be renamed fr_databases.conf)
- $templ - the html-templates directory
- $confdef - the confdefs directory, containing the main config settings definition file (config_options.xml, to be renamed fr_settings.confdef) and possibly other confdef files for scoped (database-level, for example, to be named database_settings.confdef or DATABASE_settings.confdef) configuration (preferences) dialogs
- $docfiles - the files docs/fr_manual.html, docs/fr_changes.html and docs/fr_license.html that are displayed from the main menu
Locations:
- $frhome - FR will find $templ, $confdef and $docfiles (which are immutable and integral part of the FR distribution) in its home path. The home path is returned by config()::getHomePath(), usually the application folder.
Note: defining the environment variable FR_HOME will override this path.
Note: passing -h on FR's command line will override this path and the environment variable as well.
- $fruserhome - FR will find $conf and $db (which are user settings files) in its user home path. This path has to be writable and may be common to all users on the machine or different for each user. The user home path is config()::getUserHomePath(), and it defaults to wxStandardPaths::GetUserLocalDataDir().
Note: defining the environment variable FR_USER_HOME will override this path.
Note: passing -uh on FR's command line will override this path and the environment variable as well.
Additional note: the specification in the command line parameters -h and -uh, or the value of the environment variables FR_HOME and FR_USER_HOME may be "$app", which translates to wxStandardPaths::GetLocalDataDir(), or "$user", which translates to wxStandardPaths::GetUserLocalDataDir(). Otherwise, it has to be a path (without the trailing path delimiter).
FR will only ever write to files in $fruserhome. If FR is configured so that these files are shared by several users, then no precaution is taken to avoid overwriting other users' changes.
The installer will use the default settings and not allow customization, for the time being.
Use:
$conf contains all FR settings that are managed by a singleton instance of Config, which is a wrapper around one or more instances of wxFileConfig, and which also handles a set of hardwired defaults. A call to Config::getValue() will always yield a value, even if the config file is not found or the key doesn't exist (defaults apply).
$db is managed internally by the DBH using custom XML-parsing code (as it is now), or possibly wxXmlDocument.
The locations of $templ, $confdef and $docfiles are returned by functions in Config. This means that not all services that Config exposes are directly related to the config file(s).
Scoping (might come later):
Each config setting has a name (ex. NumberPrecision) and a value. The value is retrieved based on scoping rules:
getValue("NumberPrecision", n)
will search for a value to assign to n in the NumberPrecision config key.
getValue("DATABASE_SomeDatabase/TABLE_SomeTable/NumberPrecision", n)
will search in the following config keys:
- DATABASE_SomeDatabase/TABLE_SomeTable/NumberPrecision
- DATABASE_SomeDatabase/NumberPrecision
- NumberPrecision
getValue("DATABASE_SomeDatabase/TABLE_SomeTable/COLUMN_SomeColumn/NumberPrecision", n)
will search in the following config keys:
- DATABASE_SomeDatabase/TABLE_SomeTable/COLUMN_SomeColumn/NumberPrecision
- DATABASE_SomeDatabase/TABLE_SomeTable/NumberPrecision
- DATABASE_SomeDatabase/NumberPrecision
- NumberPrecision
The caller of getValue will retrieve the prefix by calling the getItemPath() member function of the relevant metadata item. A shortcut member function in MetadataItem will shorten the code; for example, assuming a Database db named "foo", this code:
int numPrec = db.getConfigValue("NumberPrecision");
is equivalent to:
config().GetValue(DATABASE_SomeDatabase/NumberPrecision", numPrec);
Note: wxFileConfig will resolve the scoped setting names by using different [sections] in the pseudo-INI file, but that's not relevant to the users of FR's Config. Config might also split the settings in different files (one for each database) for better efficiency and manageability.
The database rename issue:
Tables, columns and other metadata objects don't get renamed very frequently, but since we allow to change the name of a database quite easily, if we use it as a path identifier then once you rename it you loose all config stuff about it (and the data stays there forever cluttering the config file. Even worse, if you later define a database with the same name then the old config applies...). I can see several solutions:
a) when a database is renamed, do a search & replace over the whole config file. This might be heavy.
b) don't use the database name but a "generator" instead. Store its value in the config file and use it to generate unique and invisible IDs for databases. This is light and should work well.
c) store the config for each database in a separate file, then just rename the file when the database is renamed. This is going to require some tricky code in Config, and it has the potential to get messy(*) if we later want to define per-table, per-column, etc. config.
(*) meaning we won't be treating all objects in the same fashion, but have special regards for Database instead.
The preferred solution is c) for efficiency and manageability reasons, perhaps with a shot of b).
Possible extensions:
We might want to let the installers allow the user to choose whether to share the config files among all users of the machine or not, and generate different command lines as required.
flamerobin_0.9.3~svn+2220.orig/devdocs/MSVC.NET_How_to_build.txt 0000664 0000000 0000000 00000003774 11770571553 0024301 0 ustar 00root root 0000000 0000000 Building FlameRobin on Windows with Microsoft Visual C++ .NET
=============================================================
Building FlameRobin with Visual C++ .NET (version 7.1) should be easy using the
provided project and solution files.
To build FlameRobin you have to use the downloaded sources or to check-out the
latest source from projects's Subversion tree. Subversion repository is
available at:
https://svn.sourceforge.net/svnroot/flamerobin/trunk/flamerobin
FlameRobin uses and needs the wxWidgets library.
You will find wxWidgets at
http://www.wxwidgets.org
and you can download the source package of version 2.6.0 (any later version
should do as well) if you follow the "Download" link in the sidebar.
If you download the wxAll* packages (all ports combined into one) please make
sure that you unzip them using the -a switch to unzip.exe to convert all files
to DOS line endings on-the-fly. Visual Studio will complain if project or
solution files have UNIX line endings. Should that happen to you, just close
the projects and convert the line endings by opening and saving with a text
editor.
Open the included solution files $(WX)\build\msw\wx.sln and
$(WX)\contrib\build\stc\stc.sln and build the same configuration
(Debug/Release, Ansi/Unicode) of both.
You have to define environment variable "WXWIN" for the FlameRobin project to
find the necessary libraries. Adding them to your user environment works best.
Be sure to select the same configuration for FlameRobin that you selected for
wxWidgets, otherwise the linker will not find the needed libraries.
Note for MSVC 2005 users: when you get a fatal error CVT1100 during linking of
flamerobin, you should change the settings of the manifest tool. Go to the
input and output section of the manifest tool within the configuration properties
of the project's properties, and set Embed Manifest to No.
If you have any questions about this, feel free to ask at our flamerobin-devel
mailing list at sourceforge.net.
Michael Hieke
mghie@users.sourceforge.net
flamerobin_0.9.3~svn+2220.orig/devdocs/MetadataItem_invalidation.txt 0000664 0000000 0000000 00000020776 11770571553 0025507 0 ustar 00root root 0000000 0000000 Nando wrote:
Hello,
I would like to rationalize the way metadata items load their state
from the database; currently YTable has loadColumns() and
checkAndLockColumns(), YProcedure has loadParameters() and
checkLoadParameters(), I myself have just added something similar
(loadProperties()) to YException, etc.
I was thinking of bringing all this under the umbrella of
YxMetadataItem, with the following semantics:
// invalidates everything the item has read from the database;
// this means that next time a property is requested it will be
// read anew from the database.
// Some classes might support selective invalidation of portions
// of data (e.g. "columns", or "indexes"), and that's what
// propertySetName is for. By default, invaliate() invalidates
// everything and calls notify().
void YxMetadataItem::invalidate(std::string propertySetName = "");
The item would keep one of more internal flags to account for what's
invalidated and reload it on request.
For a sample of the benefits of the approach, this code excerpt from
database.cpp:
if (t == ntTable || t == ntView)
result = ((YxMetadataItemWithColumns *)object)->loadColumns();
else if (t == ntProcedure)
result = ((YProcedure *)object)->checkAndLoadParameters();
else if (t == ntException)
((YException *)object)->loadProperties(true);
else
object->notify();
(to which I have just contributed the third branch, BTW) would become:
object->invalidate();
Comments? Remarks? Better ideas?
Milan replied:
| I would like to rationalize the way metadata items load their state
| from the database; currently YTable has loadColumns() and
| checkAndLockColumns(), YProcedure has loadParameters() and
| checkLoadParameters(), I myself have just added something similar
| (loadProperties()) to YException, etc.
|
| I was thinking of bringing all this under the umbrella of
| YxMetadataItem, with the following semantics:
|
| // invalidates everything the item has read from the database;
[snip]
Very good.
I have thought that something like this will soon be needed anyway.
| // By default, invaliate() invalidates
| // everything and calls notify().
We would have to be careful about this so we don't enter the endless
loop. I guess we can use the locking mechanism that is already there.
| For a sample of the benefits of the approach, this code excerpt from
| database.cpp:
|
| if (t == ntTable || t == ntView)
| result = ((YxMetadataItemWithColumns *)object)->loadColumns();
| else if (t == ntProcedure)
| result = ((YProcedure *)object)->checkAndLoadParameters();
| else if (t == ntException)
| ((YException *)object)->loadProperties(true);
| else
| object->notify();
|
| (to which I have just contributed the third branch, BTW) would become:
|
| object->invalidate();
Well, not really since for tables/view/procedures you only have to
invalidate columns/parameters (exactly what you wrote about: selective
invalidation).
Anyway, I fully agree what you wrote. We can have a parameter to
invalidate() which will specify what is invalidated. Some objects would
consider it, others ignore.
One more remark: table->invalidate(columns) doesn't have to call
notify() since reloading of columns will do that anyway, so a locking
mechanism should really be used.
Nando replied:
M> | For a sample of the benefits of the approach, this code excerpt from
M> | database.cpp:
M> |
M> | if (t == ntTable || t == ntView)
M> | result = ((YxMetadataItemWithColumns *)object)->loadColumns();
M> | else if (t == ntProcedure)
M> | result = ((YProcedure *)object)->checkAndLoadParameters();
M> | else if (t == ntException)
M> | ((YException *)object)->loadProperties(true);
M> | else
| object->>notify();
M> |
M> | (to which I have just contributed the third branch, BTW) would become:
M> |
| object->>invalidate();
M> Well, not really since for tables/view/procedures you only have to
M> invalidate columns/parameters (exactly what you wrote about: selective
M> invalidation).
aren't columns/parameters all that those objects hold anyway? Huh
no, tables have also constraints, for example. This needs a bit more
thought...
Premise: the code above comes from database.cpp, and it runs
when an executed SQL (mostly DDL) statement is parsed by YDatabase to
see if any objects need refreshing.
The problem is that only the metadata object itself knows ultimately
what should be invalidated as a result of executing a SQL statement,
so the solution is to let all metadata objects in turn have a peek at
the statement and let each of them do whatever is needed to. IOW
instead of letting the YDatabase govern everything, we use a
cooperative network to achieve the same. This can be implemented at
different degrees depending on the level of efficiency (did I say
that? ) we want to achieve:
a) the YDatabase hands the SQL statement off to each metadata object
it holds in turn. Each metadata collection hands it to the items it
contains (look, here's another reason for having concrete metadata
collections!). This could be wasteful as potentially many items would
need to parse the statement again and again. I said "could" because we
might well be talking about millisecond-scale delays anyway.
b) the YDatabase pre-parses the statement, finds the object kind and
name (as it already does), locates the relevant metadata object and
hands it the statement. This is slightly less flexible but probably
faster.
c) ??>
Note: in many cases the SQL statement itself comes from a metadata
object from the beginning. In other cases the user typed it freely in
the SQL window. If we didn't have to support the latter scenario then
a simpler variant of option b would be enough and the YDatabase
wouldn't even be involved at all. But we do have to support it, right?
M> One more remark: table->invalidate(columns) doesn't have to call
M> notify() since reloading of columns will do that anyway, so a locking
M> mechanism should really be used.
In perspective I would even like to make notify() protected, so that
each object deals with this stuff on its own. You just call a setXXX()
member function and it sees by itself what's to
invalidate/lock/notify, etc.
Milan replied:
| M> Well, not really since for tables/view/procedures you only have to
| M> invalidate columns/parameters (exactly what you wrote about: selective
| M> invalidation).
|
| aren't columns/parameters all that those objects hold anyway? Huh
| no, tables have also constraints, for example
Yep, and tables views might also get some links to triggers too.
| a) the YDatabase hands the SQL statement off to each metadata object
| it holds in turn. Each metadata collection hands it to the items it
| contains (look, here's another reason for having concrete metadata
| collections!). This could be wasteful as potentially many items would
| need to parse the statement again and again. I said "could" because we
| might well be talking about millisecond-scale delays anyway.
Not needed IMHO.
| b) the YDatabase pre-parses the statement, finds the object kind and
| name (as it already does), locates the relevant metadata object and
| hands it the statement. This is slightly less flexible but probably
| faster.
I think this will do. Also, note that DROP statements should be handles
by YDatabase, so if it is going to parse the string anyway, we can use
it for other things too.
| c) ??>
Maybe the same as b) but send the parsed pieces too? Although I haven't
got the idea how to do that cleanly.
| Note: in many cases the SQL statement itself comes from a metadata
| object from the beginning. In other cases the user typed it freely in
| the SQL window. If we didn't have to support the latter scenario then
| a simpler variant of option b would be enough and the YDatabase
| wouldn't even be involved at all. But we do have to support it, right?
It's a must. User could always type some ALTER (or some other) statement
that we don't provide via GUI, and object should refresh. Also, this way
we can centralize all DDL processing, and make logging stuff easy. It
also let's various program parts just dump SQL into ExecuteSqlFrame and
don't "think" about it.
| M> One more remark: table->invalidate(columns) doesn't have to call
| M> notify() since reloading of columns will do that anyway, so a locking
| M> mechanism should really be used.
|
| In perspective I would even like to make notify() protected, so that
| each object deals with this stuff on its own. You just call a setXXX()
| member function and it sees by itself what's to
| invalidate/lock/notify, etc.
Maybe not a bad idea. I can't foresee how will it work in practice
though. I guess we will have to test and see.
flamerobin_0.9.3~svn+2220.orig/devdocs/license_boilerplate.txt 0000664 0000000 0000000 00000002071 11770571553 0024377 0 ustar 00root root 0000000 0000000 Copyright (c) 2004-2008 The FlameRobin Development Team
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.
flamerobin_0.9.3~svn+2220.orig/docs-src/ 0000775 0000000 0000000 00000000000 11770571553 0017720 5 ustar 00root root 0000000 0000000 flamerobin_0.9.3~svn+2220.orig/docs-src/fr_license.txt 0000664 0000000 0000000 00000002402 11770571553 0022570 0 ustar 00root root 0000000 0000000 Copyright (c) 2004-2008 The FlameRobin Development Team
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.
This is a BSD-style Expat license. You may obtain a copy of the License at:
http://www.flamerobin.org/license.html
The original Expat license is available from:
http://www.jclark.com/xml/copying.txt
flamerobin_0.9.3~svn+2220.orig/docs-src/fr_manual.xml 0000664 0000000 0000000 00000175702 11770571553 0022422 0 ustar 00root root 0000000 0000000
FlameRobin ManualNandoDessenaMilanBabuskovAbout this manualWe try to keep all the features in FlameRobin usable in an intuitive
manner. However, there are things that you still need to know if you want
to grasp the full power of the application, and this manual contains
details about them. In this document, you will find an overview of the
features, a description of all configuration parameters and advanced
installation and customization notes.About the ALPHA test programLots of people have been using FlameRobin in day-to-day work for a
long time now. Yet, we still consider the software in ALPHA state until it
reaches feature-completeness, which will come with release 1.0. FlameRobin
is very near to that state. Meanwhile, we thank you for evaluating and
using this software and encourage you to send comments, bug reports and
feature requests back to us so we can make it a better product.What FlameRobin isFlameRobin is a GUI administration and data manipulation tool for
Firebird databases. It is designed to be small, simple and cross-platform,
yet offer all the basic features needed to administer Firebird servers and
create/maintain databases. FlameRobin is Open Source software and binaries
are currently available for Windows, several GNU/Linux and BSD flavours
and MacOS X. Ports to other platforms are possible, subject to the
availability of maintainers for those platforms.What FlameRobin is NOTFlameRobin is not a full-featured administration tool with lots of
bells and whistles, as there are plenty available for Firebird from
several different parties. Our first goal with FlameRobin is to provide
people not used to the command line with a GUI tool to get started with
Firebird. Our longer-term goal is to develop a richer tool mainly for the
Linux platform; while there are several rich and mature GUI tools under
Windows, some of them available for free or for a modest price, there
isn't any for Linux. Another goal of the project is for a "lite" edition
of FlameRobin to be bundled with the Firebird server to serve as a
starting kit for new users. This bundle may be distributed by the Firebird
Project itself or by some third party.Who we areThe home page of the FlameRobin project is located at http://www.flamerobin.org. The
project itself is hosted on SourceForge.
Please use our mailing list (flamerobin-devel) to contact the developers.
Details and archives available here. You are
also encouraged to use our bugs
and feature
requests trackers to report back to us the results of your alpha
testing. If you are a developer interested in joining the FlameRobin
project, let us know. We always welcome contributors.LicenseFlameRobin is released under the Expat License. You can find the
complete license text in the file fr_license.html, or here.What's new?Please refer to fr_whatsnew.html for a detailed history of all the
changes since the previous release.InstallationIf you want to build FlameRobin from sources, please find
instructions on our web site or Subversion repository. In this section we
talk about installing the pre-built version of FlameRobin under all
currently supported platforms.General informationIf you have installed a previous ALPHA version of FlameRobin which
is less than 0.4.0, it is recommended that you
remove it before installing this version.You won't be able to keep a config.ini file from an earlier
version, because the name and file format have changed in version
0.4.0.You might be able to keep your servers.xml file, provided that you
rename it to fr_databases.conf and move it to your data folder.
FlameRobin will tell you the exact path of this file (which changes with
the platform) upon first startup, when it cannot find the file.Here are the files used by FlameRobin to store configuration
information:fr_databases.conf is the list of Firebird servers and
databases you work with; FlameRobin will create it (and
automatically add the "localhost" server) when you run it for the
first time; then you can register new servers and databases.fr_settings.conf stores FlameRobin's configuration
information, like the position and size of the main program window.
You don't need to edit it by hand.The location of these files changes with the platform, and it's
usually a directory owned by the current user. FlameRobin needs write
access to that folder.Windows (Win32)To install FlameRobin under Windows you need the Firebird client
(gds32.dll for Firebird 1.0, fbclient.dll for Firebird 1.5 and up)
installed and available, then just run the automatic installer of
FlameRobin which will copy all required files in a directory of your
choice and optionally create desktop and start menu shortcuts.If you need to uninstall FlameRobin you can do so from the start
menu icon (unless you told the installation program not to create one)
or from the Control Panel.LinuxWhile some Linux distributions might provide installation packages
suitable for specific versions of that distribuion, FlameRobin project
provides generic compressed archives containing the executable and all
needed files. There are two flavors, depending of your preferences. You
can use Gtk1 version, which runs faster and has less dependencies. It is
suitable for slower computers and should run out-of-the-box on most
distributions. Gtk2 version uses Gtk2 toolkit, so it looks nicer on the
screen and it also has Unicode support.To install FlameRobin, just unpack the chosen .tar.bz2 archive, cd
into that directory and type "make install" as root. This will install
FlameRobin and all the needed files to appropriate locations. After
that, any user can type "flamerobin" to run the program.MacOS XInstallation on Mac OS X is an absolute no-brainer: just drag the
icon from the installation package to the folder you want the
application to live in. Unpacking is handled via double clicking the
downloaded file.Getting started / basic featuresUpon first startup, FlameRobin will show a "Home" tree containing
only the local server (localhost), and will invite you to create new
servers and databases as required. You'll also see a menu bar at the top
of the window, and a search bar and status bar at the bottom. Here is a
brief how-to for getting started with FlameRobin.Adding a serverYou can add a server by right-clicking on "Home" and choosing
"Register server..." (alternatively, use the "Register server..."
command from the "Server" menu). You will have to specify a display name
and optionally the host name and TCP port number on which the Firebird
server listens. Leave the display name empty to have FlameRobin build
one automatically from the host name and port values (if you don't have
a host name, because yours is a local or embedded Firebird server, you
will be required to type in a display name manually). Once you have
added a server, you can register databases under its node.Adding an existing databaseTo access an existing database from FlameRobin you have to
register it. Registration will make FlameRobin remember the database
connection properties so you don't have to re-enter them every time.
Locate the correct server in the tree, right click it and choose
"Register existing database...". You will have to enter a display name,
type in or locate (or drag and drop) the database path (or alias name),
the user name and password.If you don't specify the password, FlameRobin will prompt for it
every time you try to connect to the database, which is the most
secure option. If you want to specify the password, you can have
FlameRobin optionally encrypt it in the configuration file.You can also optionally specify a connection charset and
role.Creating a new databaseTo create a new, empty database, locate the desired server in the
tree, right click it and choose "Create new database...". You will then
need to input the database file or alias name, the user name and
password for the owner of the new database (use SYSDBA as the user name
and masterkey if you don't know what to put in these fields), the
character set, the role, the page size (the default value of 4096 is
just fine) and the SQL dialect (leave it set at 3 if you don't know what
a SQL dialect is). The new database will be created and registered
(which means it is available in FlameRobin).You can also drop an existing registered database, optionally
keeping the FlameRobin registration information. Use the "Drop" menu
command to do that.Connecting to a registered databaseJust double click on the database name in the tree, or right click
it and choose "Connect" or "Connect as...". Choose "Disconnect" to close
the connection to the database. This causes the load of essential
metadata information. FlameRobin tries to play well with slow network
connections by delaying metadata retrieval as much as possible, yet
connecting to a database still needs some data transfer beyond the
connection itself.Browsing metadataUpon connection, the sub-tree under the database name is populated
with a description of the database structure (metadata). Browse the tree
to explore the metadata. You can also use the quick search feature to
locate a particular object in the tree. Just type the name of the object
you are looking for (use the "*" wildcard character for a partial match)
in the search box at the bottom of FlameRobin's main window and the
first object in the tree whose name matches your search string will be
highlighted. Now you can hit Enter to focus the tree and add the object
name (or search string) to the search box's drop-down list. For your
convenience, FlameRobin will remember your search strings for further
use. Click the arrow buttons next to the search box to move to the next
and previous matches.There is also an advanced metadata search feature, which is
described later.Editing objectsYou can view and/or change the properties of every object you see
in the tree by choosing the "Properties..." option from the object's
context menu or from the "Object" menu. Please note that currently not
all object types are supported in full (domain editing, for example, is
very basic ATM), but you'll find some level of support for all of them.
The property page is a HTML window with a summary of the object's
properties and links which open other pages or specific editors. Some of
the options are not yet available, but you can edit almost all aspects
of the most common objects (tables, views, stored procedures, and so
on). Please have a look at fr_whatsnew.html to see, well, what's
new.Although we try to test the features as much as we can, this
is ALPHA software and you should only use it to work on backup
copies of your databases, or perform backup copies before using
FlameRobin on them. Having said that, we have to add that many users
(including us) have been using FlameRobin in their everyday Firebird
development for several years now without major problems.Browsing and editing dataAfter connecting to a database, locate a table, view or selectable
stored procedure of your interest in the tree and right-click it.
Choosing either "Select ... from ..." option will open the SQL editor
with the table/view data shown in the grid at the bottom. In the case of
selectable stored procedures with parameters, just the select statement
appears in the SQL editor, so you should fill the parameter values (if
you have any) and click the Execute button to see the data.FlameRobin's data grid fetches data from the server in small
chunks, so that you don't have to wait for the fetch to complete if you
only look at the first few pages of rows. You can have the grid fetch
all data (in background) through the Fetch all records command in the
grid's context menu (there is also a configuration option to make
complete fetching the default behaviour, something we usually don't
recommend). Fetching a very large result set might take some time, so if
you change your mind you can use the Stop fetching all records
command.Once you have some data in the grid, you can re-sort the data by
double clicking on column headers.You can change the data through direct editing in the grid, add
new records by means of the Insert button (which opens a specialized
dialog box) and delete the currently selected record(s) by clicking the
Delete button. Confirm any changes by clicking the Commit button, or
cancel them through the Rollback button. Deleted records are still
displayed (on a red background color) until you commit, just in case you
change your mind.Emptying a cell that displays a string field will set the
field's value to ''; if you want to set it to null, then delete all
contents and then hit the DEL key once more.You can type the strings "NOW", "DATE", "TODAY", "TOMORROW",
"YESTERDAY" in cells of type date or timestamp, and the strings "NOW"
and "TIME" in cells of type time. They will be translated by
FlameRobin to their respective meanings.FlameRobin handles all interactive edit operations by generating
corresponding SQL statements. By default they are all logged in the
history, but you can turn logging off for an instance of the SQL
editor through the History/Enable logging menu command. You can also
to turn logging off globally or for a particular database, through the
preferences.Running SQL statements and scriptsOf course you can use the SQL editor window to create and execute
arbitrary SQL statements. FlameRobin provides a rather advanced and
sophisticated, yet simple to use SQL editor. You can open a SQL editor
window by right clicking on a database node and choosing "Run a query".
The SQL editor tool offers script execution capabilities (including SET
AUTODDL and SET TERM support), load/save buttons, auto-completion and
call-tip features, commit/rollback, detailed execution statistics
(including but not limited to the query PLAN and the number of records
inserted, deleted, updated in each affected table), a data export tool
and more.To execute a script (meaning a sequence of more than one SQL
statements), just load it (or drag and drop a file, or type it in) and
run it. To execute a single statement when more statements are present
in the editor, select it before clicking the Run button.You can use the drop-down menus or the context menu in the SQL
editor as well as the buttons.Auto-completion can be invoked automatically or manually (see the
rich set of configuration options about it), and supports table and
column names, procedure and function parameters, and so on.To activate the data export tool, right click on the data grid.
The data export tool is currently able to copy the data to the
clipboard, generate SQL INSERT or UPDATE statements or export the data
to a HTML or CSV file. All options work on the whole grid contents or
just the selected parts. You can also multiple-select several different
grid "islands" and have the tool export them. This is particularly handy
to generate customized INSERT or UPDATE statements.For SELECT statements, you can also drag and drop objects from the
tree view to visually build queries (provided the appropriate
configuration option is enabled). Dragging and dropping tables will
automatically create JOIN conditions (based on existing foreign key
definitions) in the statement you are building.FlameRobin will try to let you edit whatever result set your
SELECT statement returns, or part of it. Fields that you cannot edit
will be displayed in a special background colour in the grid.Backup and restoreYou can perform a database backup by right clicking on a database
and choosing "Backup database...". Choose "Restore database..." to
restore a backup file over the current database (you will have to
disconnect first). Choose "Restore backup into new database..." (this
time on the server node) to create a new database from a backup file.
You can drag and drop files in these windows.It is considered bad practice to restore a backup file over an
existing database.The Backup and Restore tools work in background, so you are
allowed to continue working with FlameRobin while they proceed. You can
work on a database while it is being backed up, but you can't work on a
database while you are restoring it.Advanced featuresThis section illustrates features in FlameRobin that you won't
likely use every day, but often enough to make them useful to know.DDL extractionYou can generate DDL (Data Definition Language) creation scripts
for any object you have in the database, or even for the whole database.
Just open the DDL subpage of an object's property page to see the DDL
code that creates the object.Extracting DDL scripts is useful if you want to replicate an
object's structure in a different database, or create a slightly
different object in the same database.A shortcut command for extracting the entire database metadata is
available in the Advanced submenu of the database's context menu.Alter View functionalityFirebird doesn't have an ALTER VIEW DDL command, which means that
if you want to modify a view definition you need to DROP and CREATE it
back. But dropping an object in Firebird requires dropping all objects
that depend on it, and so on recursively. Doing this by hand is very
hard, especially if the database structure is complex. A unique feature
in FlameRobin, which you activate by righ-clicking a View object and
selecting the "Alter..." menu command (or selecting the "Alter..."
command from the "Object" menu after selecting a View), will generate a
script that drops all the objects that depend on the view (in the
correct order), drops and recreates the view, then recreates all the
objects (again, in the correct order). The script is pasted into the SQL
editor window so you can modify the view definition and recreate
everything with a single click.Creating a selectable stored procedure for a tableThis feature, that you can use through the Create selectable
procedure command in each table's context menu (or the namesake item in
the Object menu), will open the SQL Editor on a CREATE PROCEDURE
statement; the procedure fetches and returns all records in the table,
and has an output parameter for each column. Since this is a pretty
common pattern, it is intended to be modified to suit your needs rather
than used as-is.Connected usersSelect "Show connected users" at the database level (or in the
"Database" menu) to see a list of users connected to that database. This
only works reliably with the SuperServer variant of Firebird. If you are
using Firebird Classic you will see at most one user connection there,
which is yours.Event monitoringFlameRobin allows you to listen for Firebird events interactively.
Just select the "Monitor events" command at the database level (or in
the "Database" menu) to open the Event Monitor window (you will need to
connect to the database first). This window allows you to monitor one or
more events, save the received events to a text file and load them back.
Events are posted from the database when the POST_EVENT statement is
called (and the transaction is committed).User managementCurrent versions of Firebird use a central server-wide user
repository. FlameRobin allows you to add, modify and delete user
accounts (but it will not allow you to delete the SYSDBA predefined
user) by means of the "Manage users..." option in the Server menu (or
the server's context menu item, or the Object menu item with the same
caption). It is Firebird's security policy that you need to be SYSDBA to
use this feature.The proper way to change the SYSDBA password on LInux is to run
the changeDBAPassword.sh script in Firebird's bin directory. Otherwise
Firebird's startup and shutdown scripts won't be updated.Grant and revoke privilegesEvery object in the database has a list of privileges that
identify the users and roles that can work with that object. On an
object's property page (in the "Privileges" subpage) you can view the
privleges associated with that object, and if you hover the mouse over
icons, you can see who granted them in the status bar. Clicking on the
"Grant and revoke privileges" link will open a dialog box that will help
granting and revoke privileges to that object (which you'll find
pre-selected in the dialog box) and/or other objects as well. The dialog
box allows you to build a list of grant/revoke SQL statements by
clicking on appropriate controls and then on the "Add To List" button.
When satisfied, click the "Execute All" button to run all the statements
in the SQL editor (which will also log them for future use, as with any
SQL statement executed in FlameRobin, if logging is enabled).Server and client versionSelect "Retrieve server version" from the "Server" menu (or from a
server's context menu) to see a dialog box with the server's version
string. A server's version string reveals the exact build number of your
Firebird server and the platform it is running on. For example, a
version string equal to "WI-V1.5.2.4731 Firebird 1.5" means Firebird
1.5.2, build 4731, on Windows.Currently FlameRobin doesn't show the version string of the
Firebird client it is using, for these reasons:Not all versions of Firebird support this feature, and
FlameRobin needs to stay compatible with all Firebird
versions.At some point in the future FlameRobin will be able to load
different client libraries for different databases (at least on
platforms that support it). We will probably add the client
version display feature then.You can also look at the version string of the Firebird client
FlameRobin is using, in the About box (Help/About).Advanced metadata searchThis feature, which you can fire through the lens button in
FleameRobin's main window, allows you to perform more advanced search
operations in your database's metadata (or in more databases at the same
time). You can search with wildcards, search on object names and
descriptions, in the DDL definition (which includes the source code for
triggers and stored procedures), and do other, more specialized, search
operations. Just add all criteria you need through the Add buttons, and
then click the Start search button. The criteria will be concatenated
with an "and" boolean operator, that is all of them must be satisfied
for an object to be included in the SEARCH RESULTS pane.This feature is provided on an experimental basis, as we're
currently looking for suggestions about how to improve both the user
interface and the capabilities. We already have some ideas that will
radically change the appearance of this dialog box, but we thought users
might want to try it out so they can give us some good tips.LoggingThe SQL Editor can log all executed statements to a text file, a
set of text files or a database table. This gives you the ability to
work visually and produce scripts to easily replicate sequences of
operations on other databases. For database logging, in a future
release, FlameRobin will also provide a visual interface to the log
table, so that you can view a list of modifications to an object.Look here for the
options you use to configure this feature globally, and here for database-level logging
options.Test data generatorFlameRobin includes a test data generator which you can use to
create test databases with dummy data values. You can launch it through
the Database/Advanced/Test data generator. In the resulting dialog box
you can select the tables for which you want to generate data, how many
records you want to generate for each table, and the data generation
strategy on a per-colum basis. Among the available strategies you'll
find sequential values, random values, values taken from other columns,
values loaded from external files, and a customizable NULL ratio. Your
settings can be saved to an XML file and reloaded later. When you're
ready, hit Generate data and the database will be filled with test
data.ConfigurationThis section documents the options you can set to tune FlameRobin's
behaviour to your liking. You can set the options by means of the
Preferences dialog, which is invoked through the "Preferences..." command
in the "View" menu. The Preferences are organized in categories; here is a
description of each category. Please read the tooltip that appears when
you move the mouse cursor over each option to know more about it.Since new options are added to FlameRobin daily, this section of
the documentation will likely be out-of-date. Please refer to the
tooltips for fresh descriptions of all the available options.GeneralHere you can find options to tune the visual appearance and
behaviour of FlameRobin. You can choose whether FlameRobin will remember
the size and position of opened windows between sessions or not, whether
FlameRobin will ask for quit confirmation or not, and other such
things.Center dialogs on their parent windowSet this option to always have dialogs displayed at the center
of their parent window. Otherwise dialogs are displayed at a
system-defined position.Remember window positions and sizesIf you enable this option, FlameRobin will remember the position
and size of each window you open and will open the same window at the
same position and with the same time the next time. You can also
choose the granularity of this option for property pages and
backup/restore dialogs:Choose "Same settings for all objects" to store a single
set of values; this means that whenever an Object Properties
dialog is opened it will have the position and size of the last
Object Properties dialog used.Select "Same settings for all objects of same type" to
store a set of values for each object type. This means that a
Table Properties dialog will have different settings than a
Trigger Properties dialog, but two Table Properties dialog will
share the same set of values.The third option, "Separate settings for individual
objects", will make it so that every object's property page will
have a set of options of its own. This mode is the most
flexible, but consumes more disk space and memory.Main Tree ViewHere you can tune the appearance and behaviour of FlameRobin's
metadata navigation tool, the main tree.Order server entries alphabeticallySet this option to have your servers displayed in alphabetical
order, otherwise they are displayed in the order they appear in
servers.xml.Order database entries alphabeticallySet this option to have your databases displayed in alphabetical
order, otherwise they are displayed in the order they appear in
servers.xml.Show columns and parameters in treeEnable this option to have table/view columns and procedure
parameters displayed as tree nodes; otherwise, the tree stops at the
table/view or procedure level. In case you choose to have columns and
parameters displayed as tree nodes, you can also indicate whether you
wish that a double click on a table/view or procedure node opens the
relevant property page or expands the subtree.When table, view or stored procedure is activatedHere you choose what should happen when you double click on a
table, view or stored procedure node in the tree. Available options
include opening the property page, show columns as sub-nodes of the
selected node or select from the table, view or stored procedure to
see the data.Show system tables in treeThe metadata for a Firebird database is stored in the database
itself, in a set of tables whose names start with RDB$, called the
system tables. There is usually no point in working with Firebird's
system tables directly, as FlameRobin already queries them and
translates the information in friendlier form for you: the tree view,
object property pages and various dialogs all display information
coming from the system tables. FlameRobin also allows to change the
database metadata in a safe way (that is, keeping the database
structure's integrity), something which is not guaranteed if you try
to edit the system tables directly.For the rare cases in which a direct look at the system tables
is required, and you know exactly where and how to look, you can
enable this option, which will add all system tables for a database to
the tree. This will impose a slight performance penalty upon
connection.You can override this setting at the database level.Allow drag and drop query buildingThe SQL editor allows you to drag and drop objects from the tree
view to visually build queries (see the relevant
section). This feature may occasionally hang FlameRobin on
Linux, so we are proving this option to switch it off until the
problem is corrected in the wxWidgets library. Plus, you might want to
disable the feature, if you don't use it, in order to avoid spurious
start-drag operations when working with the mouse on the tree
view.SQL EditorUse these options to customize the behaviour of the SQL Editor,
which is used in FlameRobin to execute any kind of system-generated or
user-supplied query.Automatically commit DDL statementsEnable this option to have FlameRobin automatically "click" the
Commit button on your part each time it detects a DDL (Data Definition
Language) statements. DDL statements are those that modify the
database structure (as opposed to DML, or Data Manipulation Language
statements, which modify the data). Firebird does support
transactional DDL, yet it is common practice to auto-commit these
statements to avoid unexpected behaviours (for example, adding a
column to an existing table and populate it through an UPDATE
statement in the same transaction can lead to unexpected results with
current versions of Firebird). This option sets a default state that
you can change with the script commands SET AUTODDL ON and SET AUTODDL
OFF.When text is selected in editorLeave this option to "Execute the entire buffer" if you don't
want to take advantage of FlameRobin's advanced selection handling.
If you set it to "Execute only the selection" you will be able to
type (or load) entire scripts in the SQL editor and only execute
single parts of them by selecting them and clicking the "Execute"
button. If you don't select anything, FlameRobin will execute the
whole text in the editor.Treat selected text as a single statementIf you only ever select a single statement at a time, then you
can save FlameRobin's parser some work by enabling this option. When
you disable it, instead, FlameRobin will parse the selected text
before executing it, break it into several statements if necessary
and send them to Firebird one at a time; this is necessary since
Firebird does not support executing more than one statement (i.e. a
script) at a time. It can also be used if you have CREATE PROCEDURE
or CREATE TRIGGER (or similar) statements with SET TERM. This way,
you can select and execute the CREATE statement, and you don't need
SET TERM at all.Clear the messages when executing new statementsThe SQL Editor has a message pane that shows information about
each executed statement. By default this pane is cleared
automatically only when you end transaction. Set this option to have
FlameRobin clear it before executing a statement.Display detailed query statisticsEnable this option to have the SQL Editor show detailed
statistic information for each query, in addition to the query PLAN.
This includes number of fetches, marks, reads, writes; number of
inserts, updates, deletes; number of indexed vs sequential reads;
delta memory; execution time.Enable call-tips for procedures and functionsWhen this option is enabled, then each time you type an open
round bracket after a stored procedure or UDF name in the SQL
Editor, a floating tooltip (called a call-tip) will appear reminding
you what the input and output parameters of the stored procedure or
UDF are.Show long line markerActivate this option to have the editor display a vertical
line that visually marks the place where a line break would occur if
lines couldn't be longer than a certain amount of characters. The
marker is only a visual indicator, as FlameRobin will not enforce
any limit to the length of text lines. You can also customize the
column at which the marker will appear.Tab sizeHere you can set the number of space characters the SQL Editor
will render for each TAB.Code CompletionThis page contains options to customize FlameRobin's code
completion feature.Enable automatic invocation of completion listThis is the general switch to turn automatic code completion
in the SQL Editor on or off. Disable it if you don't like code
completion windows that pop up while you write SQL code. If you
keep it enabled, then you can set a certain number of characters
you'll have to type before code completion kicks in, and choose to
disable code completion when a call-tip is displayed (as it would
close the call-tip window) or inside quoted text.Manually invoke completion list onCode completion may also be invoked manually. Here you
select how (Ctrl+Space or Tab key).Confirm completion with EnterSet this option to have the currently selected item in the
code completion window copied to the text buffer when you hit
Enter. Otherwise you can use the Tab key for that.Load columns when required for completionFlameRobin only loads column definition data when requested
to do so (for example, when you double click a table name in the
tree view). Set this option to let FlameRobin load missing column
information automatically when needed to show an auto-complete
list.Statement HistoryFlameRobin can remember the statements you execute and allow
you to retrieve and re-execute past statements. This page allows you
to customize the feature.Share SQL statement historyYou can have a single statement history list for all the
databases you work with ("Between all databases") or a separate
history list for each of them ("Don't share"). Additionally, you
can make it so that all databases with the same display name
(typically copies of the same database, or databases with the same
structures, on different servers) share a history list.Limit history item sizeBy default, each history list item is allowed to grow
without bounds. If you are concerned about the size of your
statement history lists, you can set an upper limit in Kilobytes
for each statement in the history list. Statements bigger than the
specified amount will not be added to the history list. This is
useful if you execute entire database-creation scripts
often.Remember unsuccessfully executed buffersBy default, only statements that are executed without errors
are added to the history list. Set this option to have FlameRobin
remember also statements that caused errors.Remember statements generated by FlameRobinFlameRobin translates as much visual operations as possible
to SQL statements. Uncheck this option to prevent this kind of
statements from being added to the history lists.Data GridWhen you issue a SQL SELECT statement in the SQL Editor, then the
Data Grid comes into play to show the results. Here you customize its
appearance and behaviour.Date formatChoose the format you'd like for showing date and timestamp
values in the grid.Time formatChoose the format you'd like for showing time and timestamp
values in the grid.Grid header fontChoose a character font for the grid header (the column
names).Grid cell fontChoose a character font for the grid cells (the data).Re-format float and double precision numbersIf unchecked, decimal numbers are displayed as returned from
server; otherwise, they are formatted according to the specified
number of decimal digits.Maximize data grid after execution of SELECT statementHere you can turn off an useful feature that will enlarge the
data grid to the maximum available size when a SQL SELECT statement
returns more than a specified number of rows.Automatically fetch all records in result setMakes it so the grid will automatically fetch all records
whenever a SELECT statement is executed, instead of doing it in
batches.Show BLOB data in the gridCheck this option if you want to see data fetched from BLOB
fields in the grid. By default FlameRobin doesn't fetch BLOBs. You can
also set a threshold, thus telling FlameRobin to fetch at most a
specified amount of data for each BLOB. This allows you to see the
first part of every BLOB field automatically without risking to
download huge amounts of data for no gain. Check the "Show data for
binary BLOBs" if you want the above settings applied to binary BLOBs
as well (by default they are applied to text BLOBs only).Property PagesThis section contains customization options for FlameRobin-s
property pages.Show default column valuesSet this option to display the "Default" column in a table's
property page.Show column descriptionsSet this option to display the "Description" column in a table's
property page.Sql Statement generationThis page offers options to customize the way FlameRobin generated
SQL code, deals with object names in general, and quoted identifiers in
particular. If you don't know how quoted identifiers work in Firebird,
you should leave the relevant settings to their default values.Use UPPER CASE keywordsUncheck this option if you prefer FlameRobin to use lowercase
keywords in generated SQL code.Quote names only when neededUncheck this option to have FlameRobin always quote object names
with " in dialect 3 databases. Leave it checked to let FlameRobin
detect on its own when it is needed to quote identifiers. The setting
"Quote names in mixed case" is only used for names entered by the user
(for example, when you add a new field to a table, you type in its
name).If "Quote names only when needed" is checked and "Quote names in
mixed case" is not, FlameRobin will leave the name entered by the user
as it is, even if it is written in mixed case (unless the name is a
reserved word or contains non-ASCII characters, in which case it is
quoted).Here are two use cases to better explain how these settings
interact with each other:
Case 1: "Quote names only when needed" = on; "Quote names
in mixed case" = offUser entersTurns intoFIELD1FIELD1Field1Field1Date"Date"
Case 2: "Quote names only when needed" = on; "Quote names
in mixed case" = onUser entersTurns intoFIELD1FIELD1Field1"Field1"Date"Date"
The rationale behind all this is that if you write a name
in mixed case, then you probably want it quoted (since you bothered to
mix the case). Some users, however, find this rule awkward and
unpredictable, and need a way to disable it.Treat quote characters like other charactersThis setting determines what happens if you type the quote
character (") as a part of some name. Again, it only affects
user-entered names. One option (unchecked) is to ignore it, other is
to treat it like any other character (checked). Quotes are special
cases, since they need to be escaped (by doubling them). When this
setting is off, user can force quoting even when it is not required,
by writing the name quoted in the text box.FieldsHere you can customize the appearance of field types in the tree
and property windows.When a column has a user-defined domainIn this case you can choose to see after the column name the
domain name, the data type, or both.When a table column is computedFor computed columns, you can choose to see after the name the
data type or the computation expression, or both.LoggingThe SQL Editor can log all executed statements to a text file, a
set of text files or a database table. Here you set the relevant options
for file-based logging, while logging to a database table is decided
on a per-database
basis.Log DML statementsWhen logging is enabled, by default only DDL (CREATE, ALTER,
DROP...) statements are logged. Turn this option on to enable logging
of DML (SELECT, INSERT, UPDATE, DELETE) statements as well.Enable logging to fileHere you choose whether you want to log statements or not,
select the log file name(s), and choose if you want to output for
each statement also a comment with the version of FlameRobin,
database and user name, and execution date and time. Each statement
can go into separate file, and it uses incremental numbers for
filenames. You can format your own filenames by using %d as a
placeholder for number. If you want numbers with fixed number of
digits, like 0003 instead of 3, then use %04d as placeholder, where
4 means four digits, and 0 means that it should be padded with
zeros.There are also options to add a comment header to each logged
statement, and to add SET TERM statements if required.Database configurationThere is a set of options in FlameRobin that you can set on a
per-database basis. You access the database configuration window by right
clicking on a database and selecting the "Database preferences..."
command, or selecting the same command from the "Database" menu. Like
global preferences, database preferences are organized in categories; here
is a description of each category. Please read the tooltip that appears
when you move the mouse cursor over each option to know more about
it.Main Tree ViewShow system tables in treeThis is a database-level override of the global option with the
same name described here.ConnectionThis page holds options that apply to database connection and
database registration info.Warn when connection charset is different from database
charsetIn Firebird it is quite an usual situation to have a single
character set for an entire database, and use that character set for
connecting to the database, otherwise string transliteration won't
work correctly. For this reason, FlameRobin will warn you on
connection if the two charsets don't match. There are cases, though,
in which you might want to connect to a database with a different
character set (for example when you use different charsets for
different tables or even columns, something Firebird allows), so here
you can turn off the warning for that particular databaseLoggingPlease see the section about global logging configuration. The
options are the same here, but they apply to the current database only.
There is an additional option to turn off logging for a particular
database only, while leaving it active for all the other
databases.There are also additional options to enable logging to a database
table. The table is called FLAMEROBIN$LOG and it is
created automatically the first time it's needed. Each record written to
this table gets an ID fetched by executing a SELECT statement that you
can customize. By default, FlameRobin fetches the values from a
generator called FLAMEROBIN$LOG_GEN, which is created
on demand as well. You might want to set a custom SELECT statement if
you want to use the ID as some kind of metadata version number for your
database, in which case you define the logic to follow when generating
new IDs. For example, you could write a stored procedure and have
FlameRobin call it.Customizing the FlameRobin environmentFlameRobin needs, or creates, some external files. This section
documents what these files contain, and where they are found. While
FlameRobin is installed with usable default settings, it is possible to
fine-tune the installation for special uses or multiple users. For
example, you can change the icons, the HTML templates used as property
pages for the objects in a database, or where FlameRobin stores and looks
for its configuration files.FlameRobin uses the following files and folders:fr_settings.conf; a file containing all settings you see in the
Preferences dialog box and other global settings of FlameRobin, like
position and size of open windows. FlameRobin needs write access
privileges to this file.fr_databases.conf; a file containing all the servers and
databases defined in FlameRobin's Home tree. FlameRobin needs write
access privileges to this file.the html-templates and conf-defs folders, which contain metadata
used to render some of FlameRobin's windows, and the docs folder,
containing documentation files that can be opened through FlameRobin's
main menu. FlameRobin only needs read access to the files in these
folders.Locations:$frhome is FlameRobin's home path. FlameRobin will find
html-templates, conf-defs and docs (which are immutable and integral
part of the FlameRobin distribution) in its home path. The home path
is usually the application folder (on Windows) and an otherwise
fixed folder on POSIX platforms.Defining the environment variable FR_HOME will override this
path.Passing -h <path> on FlameRobin's command line will
override this path and the environment variable as well.$fruserhome is FlameRobin's user home path. FlameRobin will
find the conf files in its user home path. This path has to be
writable and may be common to all users on the machine or different
for each user. The user home path defaults to the user local data
directory, which varies with the platform.Defining the environment variable FR_USER_HOME will override
this path.Passing -uh <path> on FlameRobin's command line will
override this path and the environment variable as well.Additionally, the <path> specification in the
command line parameters -h and -uh, or the value of the environment
variables FR_HOME and FR_USER_HOME may be "$app", which translates to the
common data folder (the application folder on Windows and an otherwise
fixed folder on POSIX platforms), or "$user", which translates to the user
local data directory. Otherwise, it has to be a path (without the trailing
path delimiter).FlameRobin will only ever write to files in $fruserhome. If
FlameRobin is configured so that these files are shared by several users
(or concurrent instances of FlameRobin), then no precaution is taken to
avoid overwriting other users' changes.Advanced topicsThis section will document some advanced topics about how FlameRobin
works. The topics are not necessarily related, and are grouped here only
for convenience.Encrypted password storageFlameRobin can use strong encryption to safely store your
passwords in the configuration file (fr_databases.conf). Here's how it
works in detail:all passwords (PW) are encrypted with a master password
(MPW)the MPW alone is never saved into any file, it is only known
by the userPW + MPW comprise the Cipher (which is stored in the .conf
file)whenever a PW needs to be decrypted, the user is prompted for
the MPWCipher + MPW yield the PWDefense from "known plain-text" attackIf an attacker gets hold of FlameRobin's .conf file, and he
knows one of the PWs, he would be able to compute the MPW (as Cipher +
PW yield the MPW). In order to prevent this, FlameRobin uses the
following scheme:the string composed by MPW + username + database connection
string is used as a seed for some irreversible random number
generator (RNG) like ISAACthe PW is encrypted with the numbers produced by the
RNGsince numbers are unique for each username + database
connection string, and RNG is not reversible, the attacker cannot
get MPW, and he also cannot decrypt any other passwordFor more information on ISAAC see:
http://en.wikipedia.org/wiki/ISAAC
http://www.burtleburtle.net/bob/rand/isaacafa.html
flamerobin_0.9.3~svn+2220.orig/docs/ 0000775 0000000 0000000 00000000000 11770571553 0017133 5 ustar 00root root 0000000 0000000 flamerobin_0.9.3~svn+2220.orig/docs/flamerobin.1 0000664 0000000 0000000 00000010176 11770571553 0021340 0 ustar 00root root 0000000 0000000 .\" Copyright (c) 2006 Tamas Tevesz
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.Dd April 12, 2006
.Dt FLAMEROBIN 1
.ds volume Firebird Administration Tool
.Os "FlameRobin 0.7"
.Sh NAME
.Nm flamerobin
.Nd management and data manipulation tool for the Firebird DBMS
.Sh SYNOPSIS
.Nm flamerobin
.\" with thanks to jmc
.Oo Xo Fl h Ar directory \*(Ba
.Fl -home Ns = Ns Ar directory Oc Xc
.Oo Xo Fl uh Ar directory \*(Ba
.Fl -user-home Ns = Ns Ar directory Oc Xc
.Sh DESCRIPTION
.Nm
is a graphical frontend to the Firebird DBMS.
It is small and simple, yet offers all the basic features needed to create
and manipulate databases, execute queries and perform administrative tasks.
.Pp
This manual page only documents the run-time options and environment of
.Nm .
Information about using the GUI may be obtained by selecting the Help -\*(Gt
Manual menu item once the application is running.
.Pp
.Nm
uses two directory hierarchies for its normal operation.
The
.Em data directory
contains the templates for property pages, the default configuration and the
on-line documentation grouped into three sub-directories as follows:
.Bl -tag -width xxxxxxxxxxxxxx -compact
.Pp
.It Pa conf-defs
default configuration
.It Pa docs
on-line documentation
.It Pa html-templates
templates for property pages
.El
.Pp
The
.Em user home directory
contains the per-user configuration, comprising three entries:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxx -compact
.It Pa fr_databases.conf
this file stores the user's registered databases.
.It Pa fr_settings.conf
this file stores the user's preferences related to the
.Nm
GUI.
.It Pa history
this directory holds the SQL statement history, one item per file.
.El
.Pp
.Nm
accepts several options, which are described as follows:
.Bl -tag -width Ds -compact
.Pp
.It Fl h Ar directory
.It Fl -home Ns = Ns Ar directory
Use
.Ar directory
as the
.Em data directory
(but see
.Sx ENVIRONMENT
below).
.Pp
.It Fl uh Ar directory
.It Fl -user-home Ns = Ns Ar directory
Use
.Ar directory
as the
.Em user home directory
(but see
.Sx ENVIRONMENT
and
.Sx CAVEATS
below).
.El
.Sh ENVIRONMENT
.Bl -tag -width Ds
.It Ev FR_HOME
Specifies an alternate location for the
.Nm
.Em data directory .
.Pp
If both
.Fl h
(or
.Fl -home )
and this environment variable are set, the command line argument takes precedence.
.It Ev FR_USER_HOME
Specifies an alternate location for the
.Nm
.Em user home directory .
.Pp
If both
.Fl uh
(or
.Fl -user-home )
and this environment variable are set, the command line argument takes precedence.
.El
.Sh FILES
.Bl -tag -width Ds
.It Pa /usr/share/flamerobin
The default
.Nm
.Em data directory .
.It Pa ~/.flamerobin
The default
.Nm
.Em user home directory .
.El
.Sh AUTHORS
.Nm
was written by
.An The FlameRobin Development Team
.Aq Pa http://www.flamerobin.org/ .
.Sh CAVEATS
.Nm
only writes files under the
.Em user home directory .
If
.Nm
is configured so that this directory and the files contained therein are
shared among several users or concurrent instances of
.Nm ,
no precaution is taken to avoid overwriting settings created by other users
or other application instances.
.Sh NOTES
The specification of the
.Em data directory
and the
.Em user home directory
(regardless of whether they occur in the environment or on the command line)
may be the literal string
.Dq $app
which translates to a common data folder determined at compilation time, or
.Dq $user
which translates to the user local data directory. These options currently have
effect only on Windows platform.
flamerobin_0.9.3~svn+2220.orig/docs/fr_license.html 0000664 0000000 0000000 00000002757 11770571553 0022145 0 ustar 00root root 0000000 0000000
License
License
Copyright (c) 2004-2012 The FlameRobin Development Team
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.
We try to keep all the features in FlameRobin usable in an intuitive
manner. However, there are things that you still need to know if you want
to grasp the full power of the application, and this manual contains
details about them. In this document, you will find an overview of the
features, a description of all configuration parameters and advanced
installation and customization notes.
About the ALPHA test program
Lots of people have been using FlameRobin in day-to-day work for a
long time now. Yet, we still consider the software in ALPHA state until it
reaches feature-completeness, which will come with release 1.0. FlameRobin
is very near to that state. Meanwhile, we thank you for evaluating and
using this software and encourage you to send comments, bug reports and
feature requests back to us so we can make it a better product.
What FlameRobin is
FlameRobin is a GUI administration and data manipulation tool for
Firebird databases. It is designed to be small, simple and cross-platform,
yet offer all the basic features needed to administer Firebird servers and
create/maintain databases. FlameRobin is Open Source software and binaries
are currently available for Windows, several GNU/Linux and BSD flavours
and MacOS X. Ports to other platforms are possible, subject to the
availability of maintainers for those platforms.
What FlameRobin is NOT
FlameRobin is not a full-featured administration tool with lots of
bells and whistles, as there are plenty available for Firebird from
several different parties. Our first goal with FlameRobin is to provide
people not used to the command line with a GUI tool to get started with
Firebird. Our longer-term goal is to develop a richer tool mainly for the
Linux platform; while there are several rich and mature GUI tools under
Windows, some of them available for free or for a modest price, there
isn't any for Linux. Another goal of the project is for a "lite" edition
of FlameRobin to be bundled with the Firebird server to serve as a
starting kit for new users. This bundle may be distributed by the Firebird
Project itself or by some third party.
Who we are
The home page of the FlameRobin project is located at http://www.flamerobin.org. The
project itself is hosted on SourceForge.
Please use our mailing list (flamerobin-devel) to contact the developers.
Details and archives available here. You are
also encouraged to use our bugs
and feature
requests trackers to report back to us the results of your alpha
testing. If you are a developer interested in joining the FlameRobin
project, let us know. We always welcome contributors.
License
FlameRobin is released under the Expat License. You can find the
complete license text in the file fr_license.html, or here.
What's new?
Please refer to fr_whatsnew.html for a detailed history of all the
changes since the previous release.
Installation
If you want to build FlameRobin from sources, please find
instructions on our web site or Subversion repository. In this section we
talk about installing the pre-built version of FlameRobin under all
currently supported platforms.
General information
If you have installed a previous ALPHA version of FlameRobin which
is less than 0.4.0, it is recommended that you
remove it before installing this version.
You won't be able to keep a config.ini file from an earlier
version, because the name and file format have changed in version
0.4.0.
You might be able to keep your servers.xml file, provided that you
rename it to fr_databases.conf and move it to your data folder.
FlameRobin will tell you the exact path of this file (which changes with
the platform) upon first startup, when it cannot find the file.
Here are the files used by FlameRobin to store configuration
information:
fr_databases.conf is the list of Firebird servers and
databases you work with; FlameRobin will create it (and
automatically add the "localhost" server) when you run it for the
first time; then you can register new servers and databases.
fr_settings.conf stores FlameRobin's configuration
information, like the position and size of the main program window.
You don't need to edit it by hand.
Note
The location of these files changes with the platform, and it's
usually a directory owned by the current user. FlameRobin needs write
access to that folder.
Windows (Win32)
To install FlameRobin under Windows you need the Firebird client
(gds32.dll for Firebird 1.0, fbclient.dll for Firebird 1.5 and up)
installed and available, then just run the automatic installer of
FlameRobin which will copy all required files in a directory of your
choice and optionally create desktop and start menu shortcuts.
If you need to uninstall FlameRobin you can do so from the start
menu icon (unless you told the installation program not to create one)
or from the Control Panel.
Linux
While some Linux distributions might provide installation packages
suitable for specific versions of that distribuion, FlameRobin project
provides generic compressed archives containing the executable and all
needed files. There are two flavors, depending of your preferences. You
can use Gtk1 version, which runs faster and has less dependencies. It is
suitable for slower computers and should run out-of-the-box on most
distributions. Gtk2 version uses Gtk2 toolkit, so it looks nicer on the
screen and it also has Unicode support.
To install FlameRobin, just unpack the chosen .tar.bz2 archive, cd
into that directory and type "make install" as root. This will install
FlameRobin and all the needed files to appropriate locations. After
that, any user can type "flamerobin" to run the program.
MacOS X
Installation on Mac OS X is an absolute no-brainer: just drag the
icon from the installation package to the folder you want the
application to live in. Unpacking is handled via double clicking the
downloaded file.
Getting started / basic features
Upon first startup, FlameRobin will show a "Home" tree containing
only the local server (localhost), and will invite you to create new
servers and databases as required. You'll also see a menu bar at the top
of the window, and a search bar and status bar at the bottom. Here is a
brief how-to for getting started with FlameRobin.
Adding a server
You can add a server by right-clicking on "Home" and choosing
"Register server..." (alternatively, use the "Register server..."
command from the "Server" menu). You will have to specify a display name
and optionally the host name and TCP port number on which the Firebird
server listens. Leave the display name empty to have FlameRobin build
one automatically from the host name and port values (if you don't have
a host name, because yours is a local or embedded Firebird server, you
will be required to type in a display name manually). Once you have
added a server, you can register databases under its node.
Adding an existing database
To access an existing database from FlameRobin you have to
register it. Registration will make FlameRobin remember the database
connection properties so you don't have to re-enter them every time.
Locate the correct server in the tree, right click it and choose
"Register existing database...". You will have to enter a display name,
type in or locate (or drag and drop) the database path (or alias name),
the user name and password.
Note
If you don't specify the password, FlameRobin will prompt for it
every time you try to connect to the database, which is the most
secure option. If you want to specify the password, you can have
FlameRobin optionally encrypt it in the configuration file.
You can also optionally specify a connection charset and
role.
Creating a new database
To create a new, empty database, locate the desired server in the
tree, right click it and choose "Create new database...". You will then
need to input the database file or alias name, the user name and
password for the owner of the new database (use SYSDBA as the user name
and masterkey if you don't know what to put in these fields), the
character set, the role, the page size (the default value of 4096 is
just fine) and the SQL dialect (leave it set at 3 if you don't know what
a SQL dialect is). The new database will be created and registered
(which means it is available in FlameRobin).
You can also drop an existing registered database, optionally
keeping the FlameRobin registration information. Use the "Drop" menu
command to do that.
Connecting to a registered database
Just double click on the database name in the tree, or right click
it and choose "Connect" or "Connect as...". Choose "Disconnect" to close
the connection to the database. This causes the load of essential
metadata information. FlameRobin tries to play well with slow network
connections by delaying metadata retrieval as much as possible, yet
connecting to a database still needs some data transfer beyond the
connection itself.
Browsing metadata
Upon connection, the sub-tree under the database name is populated
with a description of the database structure (metadata). Browse the tree
to explore the metadata. You can also use the quick search feature to
locate a particular object in the tree. Just type the name of the object
you are looking for (use the "*" wildcard character for a partial match)
in the search box at the bottom of FlameRobin's main window and the
first object in the tree whose name matches your search string will be
highlighted. Now you can hit Enter to focus the tree and add the object
name (or search string) to the search box's drop-down list. For your
convenience, FlameRobin will remember your search strings for further
use. Click the arrow buttons next to the search box to move to the next
and previous matches.
There is also an advanced metadata search feature, which is
described later.
Editing objects
You can view and/or change the properties of every object you see
in the tree by choosing the "Properties..." option from the object's
context menu or from the "Object" menu. Please note that currently not
all object types are supported in full (domain editing, for example, is
very basic ATM), but you'll find some level of support for all of them.
The property page is a HTML window with a summary of the object's
properties and links which open other pages or specific editors. Some of
the options are not yet available, but you can edit almost all aspects
of the most common objects (tables, views, stored procedures, and so
on). Please have a look at fr_whatsnew.html to see, well, what's
new.
Note
Although we try to test the features as much as we can, this
is ALPHA software and you should only use it to work on backup
copies of your databases, or perform backup copies before using
FlameRobin on them. Having said that, we have to add that many users
(including us) have been using FlameRobin in their everyday Firebird
development for several years now without major problems.
Browsing and editing data
After connecting to a database, locate a table, view or selectable
stored procedure of your interest in the tree and right-click it.
Choosing either "Select ... from ..." option will open the SQL editor
with the table/view data shown in the grid at the bottom. In the case of
selectable stored procedures with parameters, just the select statement
appears in the SQL editor, so you should fill the parameter values (if
you have any) and click the Execute button to see the data.
FlameRobin's data grid fetches data from the server in small
chunks, so that you don't have to wait for the fetch to complete if you
only look at the first few pages of rows. You can have the grid fetch
all data (in background) through the Fetch all records command in the
grid's context menu (there is also a configuration option to make
complete fetching the default behaviour, something we usually don't
recommend). Fetching a very large result set might take some time, so if
you change your mind you can use the Stop fetching all records
command.
Once you have some data in the grid, you can re-sort the data by
double clicking on column headers.
You can change the data through direct editing in the grid, add
new records by means of the Insert button (which opens a specialized
dialog box) and delete the currently selected record(s) by clicking the
Delete button. Confirm any changes by clicking the Commit button, or
cancel them through the Rollback button. Deleted records are still
displayed (on a red background color) until you commit, just in case you
change your mind.
Note
Emptying a cell that displays a string field will set the
field's value to ''; if you want to set it to null, then delete all
contents and then hit the DEL key once more.
Note
You can type the strings "NOW", "DATE", "TODAY", "TOMORROW",
"YESTERDAY" in cells of type date or timestamp, and the strings "NOW"
and "TIME" in cells of type time. They will be translated by
FlameRobin to their respective meanings.
Note
FlameRobin handles all interactive edit operations by generating
corresponding SQL statements. By default they are all logged in the
history, but you can turn logging off for an instance of the SQL
editor through the History/Enable logging menu command. You can also
to turn logging off globally or for a particular database, through the
preferences.
Running SQL statements and scripts
Of course you can use the SQL editor window to create and execute
arbitrary SQL statements. FlameRobin provides a rather advanced and
sophisticated, yet simple to use SQL editor. You can open a SQL editor
window by right clicking on a database node and choosing "Run a query".
The SQL editor tool offers script execution capabilities (including SET
AUTODDL and SET TERM support), load/save buttons, auto-completion and
call-tip features, commit/rollback, detailed execution statistics
(including but not limited to the query PLAN and the number of records
inserted, deleted, updated in each affected table), a data export tool
and more.
To execute a script (meaning a sequence of more than one SQL
statements), just load it (or drag and drop a file, or type it in) and
run it. To execute a single statement when more statements are present
in the editor, select it before clicking the Run button.
You can use the drop-down menus or the context menu in the SQL
editor as well as the buttons.
Auto-completion can be invoked automatically or manually (see the
rich set of configuration options about it), and supports table and
column names, procedure and function parameters, and so on.
To activate the data export tool, right click on the data grid.
The data export tool is currently able to copy the data to the
clipboard, generate SQL INSERT or UPDATE statements or export the data
to a HTML or CSV file. All options work on the whole grid contents or
just the selected parts. You can also multiple-select several different
grid "islands" and have the tool export them. This is particularly handy
to generate customized INSERT or UPDATE statements.
For SELECT statements, you can also drag and drop objects from the
tree view to visually build queries (provided the appropriate
configuration option is enabled). Dragging and dropping tables will
automatically create JOIN conditions (based on existing foreign key
definitions) in the statement you are building.
FlameRobin will try to let you edit whatever result set your
SELECT statement returns, or part of it. Fields that you cannot edit
will be displayed in a special background colour in the grid.
Backup and restore
You can perform a database backup by right clicking on a database
and choosing "Backup database...". Choose "Restore database..." to
restore a backup file over the current database (you will have to
disconnect first). Choose "Restore backup into new database..." (this
time on the server node) to create a new database from a backup file.
You can drag and drop files in these windows.
Note
It is considered bad practice to restore a backup file over an
existing database.
The Backup and Restore tools work in background, so you are
allowed to continue working with FlameRobin while they proceed. You can
work on a database while it is being backed up, but you can't work on a
database while you are restoring it.
Advanced features
This section illustrates features in FlameRobin that you won't
likely use every day, but often enough to make them useful to know.
DDL extraction
You can generate DDL (Data Definition Language) creation scripts
for any object you have in the database, or even for the whole database.
Just open the DDL subpage of an object's property page to see the DDL
code that creates the object.
Extracting DDL scripts is useful if you want to replicate an
object's structure in a different database, or create a slightly
different object in the same database.
A shortcut command for extracting the entire database metadata is
available in the Advanced submenu of the database's context menu.
Alter View functionality
Firebird doesn't have an ALTER VIEW DDL command, which means that
if you want to modify a view definition you need to DROP and CREATE it
back. But dropping an object in Firebird requires dropping all objects
that depend on it, and so on recursively. Doing this by hand is very
hard, especially if the database structure is complex. A unique feature
in FlameRobin, which you activate by righ-clicking a View object and
selecting the "Alter..." menu command (or selecting the "Alter..."
command from the "Object" menu after selecting a View), will generate a
script that drops all the objects that depend on the view (in the
correct order), drops and recreates the view, then recreates all the
objects (again, in the correct order). The script is pasted into the SQL
editor window so you can modify the view definition and recreate
everything with a single click.
Creating a selectable stored procedure for a table
This feature, that you can use through the Create selectable
procedure command in each table's context menu (or the namesake item in
the Object menu), will open the SQL Editor on a CREATE PROCEDURE
statement; the procedure fetches and returns all records in the table,
and has an output parameter for each column. Since this is a pretty
common pattern, it is intended to be modified to suit your needs rather
than used as-is.
Connected users
Select "Show connected users" at the database level (or in the
"Database" menu) to see a list of users connected to that database. This
only works reliably with the SuperServer variant of Firebird. If you are
using Firebird Classic you will see at most one user connection there,
which is yours.
Event monitoring
FlameRobin allows you to listen for Firebird events interactively.
Just select the "Monitor events" command at the database level (or in
the "Database" menu) to open the Event Monitor window (you will need to
connect to the database first). This window allows you to monitor one or
more events, save the received events to a text file and load them back.
Events are posted from the database when the POST_EVENT statement is
called (and the transaction is committed).
User management
Current versions of Firebird use a central server-wide user
repository. FlameRobin allows you to add, modify and delete user
accounts (but it will not allow you to delete the SYSDBA predefined
user) by means of the "Manage users..." option in the Server menu (or
the server's context menu item, or the Object menu item with the same
caption). It is Firebird's security policy that you need to be SYSDBA to
use this feature.
Note
The proper way to change the SYSDBA password on LInux is to run
the changeDBAPassword.sh script in Firebird's bin directory. Otherwise
Firebird's startup and shutdown scripts won't be updated.
Grant and revoke privileges
Every object in the database has a list of privileges that
identify the users and roles that can work with that object. On an
object's property page (in the "Privileges" subpage) you can view the
privleges associated with that object, and if you hover the mouse over
icons, you can see who granted them in the status bar. Clicking on the
"Grant and revoke privileges" link will open a dialog box that will help
granting and revoke privileges to that object (which you'll find
pre-selected in the dialog box) and/or other objects as well. The dialog
box allows you to build a list of grant/revoke SQL statements by
clicking on appropriate controls and then on the "Add To List" button.
When satisfied, click the "Execute All" button to run all the statements
in the SQL editor (which will also log them for future use, as with any
SQL statement executed in FlameRobin, if logging is enabled).
Server and client version
Select "Retrieve server version" from the "Server" menu (or from a
server's context menu) to see a dialog box with the server's version
string. A server's version string reveals the exact build number of your
Firebird server and the platform it is running on. For example, a
version string equal to "WI-V1.5.2.4731 Firebird 1.5" means Firebird
1.5.2, build 4731, on Windows.
Note
Currently FlameRobin doesn't show the version string of the
Firebird client it is using, for these reasons:
Not all versions of Firebird support this feature, and
FlameRobin needs to stay compatible with all Firebird
versions.
At some point in the future FlameRobin will be able to load
different client libraries for different databases (at least on
platforms that support it). We will probably add the client
version display feature then.
You can also look at the version string of the Firebird client
FlameRobin is using, in the About box (Help/About).
Advanced metadata search
This feature, which you can fire through the lens button in
FleameRobin's main window, allows you to perform more advanced search
operations in your database's metadata (or in more databases at the same
time). You can search with wildcards, search on object names and
descriptions, in the DDL definition (which includes the source code for
triggers and stored procedures), and do other, more specialized, search
operations. Just add all criteria you need through the Add buttons, and
then click the Start search button. The criteria will be concatenated
with an "and" boolean operator, that is all of them must be satisfied
for an object to be included in the SEARCH RESULTS pane.
This feature is provided on an experimental basis, as we're
currently looking for suggestions about how to improve both the user
interface and the capabilities. We already have some ideas that will
radically change the appearance of this dialog box, but we thought users
might want to try it out so they can give us some good tips.
Logging
The SQL Editor can log all executed statements to a text file, a
set of text files or a database table. This gives you the ability to
work visually and produce scripts to easily replicate sequences of
operations on other databases. For database logging, in a future
release, FlameRobin will also provide a visual interface to the log
table, so that you can view a list of modifications to an object.
Look here for the
options you use to configure this feature globally, and here for database-level logging
options.
Test data generator
FlameRobin includes a test data generator which you can use to
create test databases with dummy data values. You can launch it through
the Database/Advanced/Test data generator. In the resulting dialog box
you can select the tables for which you want to generate data, how many
records you want to generate for each table, and the data generation
strategy on a per-colum basis. Among the available strategies you'll
find sequential values, random values, values taken from other columns,
values loaded from external files, and a customizable NULL ratio. Your
settings can be saved to an XML file and reloaded later. When you're
ready, hit Generate data and the database will be filled with test
data.
Configuration
This section documents the options you can set to tune FlameRobin's
behaviour to your liking. You can set the options by means of the
Preferences dialog, which is invoked through the "Preferences..." command
in the "View" menu. The Preferences are organized in categories; here is a
description of each category. Please read the tooltip that appears when
you move the mouse cursor over each option to know more about it.
Note
Since new options are added to FlameRobin daily, this section of
the documentation will likely be out-of-date. Please refer to the
tooltips for fresh descriptions of all the available options.
General
Here you can find options to tune the visual appearance and
behaviour of FlameRobin. You can choose whether FlameRobin will remember
the size and position of opened windows between sessions or not, whether
FlameRobin will ask for quit confirmation or not, and other such
things.
Center dialogs on their parent window
Set this option to always have dialogs displayed at the center
of their parent window. Otherwise dialogs are displayed at a
system-defined position.
Remember window positions and sizes
If you enable this option, FlameRobin will remember the position
and size of each window you open and will open the same window at the
same position and with the same time the next time. You can also
choose the granularity of this option for property pages and
backup/restore dialogs:
Choose "Same settings for all objects" to store a single
set of values; this means that whenever an Object Properties
dialog is opened it will have the position and size of the last
Object Properties dialog used.
Select "Same settings for all objects of same type" to
store a set of values for each object type. This means that a
Table Properties dialog will have different settings than a
Trigger Properties dialog, but two Table Properties dialog will
share the same set of values.
The third option, "Separate settings for individual
objects", will make it so that every object's property page will
have a set of options of its own. This mode is the most
flexible, but consumes more disk space and memory.
Main Tree View
Here you can tune the appearance and behaviour of FlameRobin's
metadata navigation tool, the main tree.
Order server entries alphabetically
Set this option to have your servers displayed in alphabetical
order, otherwise they are displayed in the order they appear in
servers.xml.
Order database entries alphabetically
Set this option to have your databases displayed in alphabetical
order, otherwise they are displayed in the order they appear in
servers.xml.
Show columns and parameters in tree
Enable this option to have table/view columns and procedure
parameters displayed as tree nodes; otherwise, the tree stops at the
table/view or procedure level. In case you choose to have columns and
parameters displayed as tree nodes, you can also indicate whether you
wish that a double click on a table/view or procedure node opens the
relevant property page or expands the subtree.
When table, view or stored procedure is activated
Here you choose what should happen when you double click on a
table, view or stored procedure node in the tree. Available options
include opening the property page, show columns as sub-nodes of the
selected node or select from the table, view or stored procedure to
see the data.
Show system tables in tree
The metadata for a Firebird database is stored in the database
itself, in a set of tables whose names start with RDB$, called the
system tables. There is usually no point in working with Firebird's
system tables directly, as FlameRobin already queries them and
translates the information in friendlier form for you: the tree view,
object property pages and various dialogs all display information
coming from the system tables. FlameRobin also allows to change the
database metadata in a safe way (that is, keeping the database
structure's integrity), something which is not guaranteed if you try
to edit the system tables directly.
For the rare cases in which a direct look at the system tables
is required, and you know exactly where and how to look, you can
enable this option, which will add all system tables for a database to
the tree. This will impose a slight performance penalty upon
connection.
You can override this setting at the database level.
Allow drag and drop query building
The SQL editor allows you to drag and drop objects from the tree
view to visually build queries (see the relevant
section). This feature may occasionally hang FlameRobin on
Linux, so we are proving this option to switch it off until the
problem is corrected in the wxWidgets library. Plus, you might want to
disable the feature, if you don't use it, in order to avoid spurious
start-drag operations when working with the mouse on the tree
view.
SQL Editor
Use these options to customize the behaviour of the SQL Editor,
which is used in FlameRobin to execute any kind of system-generated or
user-supplied query.
Automatically commit DDL statements
Enable this option to have FlameRobin automatically "click" the
Commit button on your part each time it detects a DDL (Data Definition
Language) statements. DDL statements are those that modify the
database structure (as opposed to DML, or Data Manipulation Language
statements, which modify the data). Firebird does support
transactional DDL, yet it is common practice to auto-commit these
statements to avoid unexpected behaviours (for example, adding a
column to an existing table and populate it through an UPDATE
statement in the same transaction can lead to unexpected results with
current versions of Firebird). This option sets a default state that
you can change with the script commands SET AUTODDL ON and SET AUTODDL
OFF.
When text is selected in editor
Leave this option to "Execute the entire buffer" if you don't
want to take advantage of FlameRobin's advanced selection handling.
If you set it to "Execute only the selection" you will be able to
type (or load) entire scripts in the SQL editor and only execute
single parts of them by selecting them and clicking the "Execute"
button. If you don't select anything, FlameRobin will execute the
whole text in the editor.
Treat selected text as a single statement
If you only ever select a single statement at a time, then you
can save FlameRobin's parser some work by enabling this option. When
you disable it, instead, FlameRobin will parse the selected text
before executing it, break it into several statements if necessary
and send them to Firebird one at a time; this is necessary since
Firebird does not support executing more than one statement (i.e. a
script) at a time. It can also be used if you have CREATE PROCEDURE
or CREATE TRIGGER (or similar) statements with SET TERM. This way,
you can select and execute the CREATE statement, and you don't need
SET TERM at all.
Clear the messages when executing new statements
The SQL Editor has a message pane that shows information about
each executed statement. By default this pane is cleared
automatically only when you end transaction. Set this option to have
FlameRobin clear it before executing a statement.
Display detailed query statistics
Enable this option to have the SQL Editor show detailed
statistic information for each query, in addition to the query PLAN.
This includes number of fetches, marks, reads, writes; number of
inserts, updates, deletes; number of indexed vs sequential reads;
delta memory; execution time.
Enable call-tips for procedures and functions
When this option is enabled, then each time you type an open
round bracket after a stored procedure or UDF name in the SQL
Editor, a floating tooltip (called a call-tip) will appear reminding
you what the input and output parameters of the stored procedure or
UDF are.
Show long line marker
Activate this option to have the editor display a vertical
line that visually marks the place where a line break would occur if
lines couldn't be longer than a certain amount of characters. The
marker is only a visual indicator, as FlameRobin will not enforce
any limit to the length of text lines. You can also customize the
column at which the marker will appear.
Tab size
Here you can set the number of space characters the SQL Editor
will render for each TAB.
Code Completion
This page contains options to customize FlameRobin's code
completion feature.
Enable automatic invocation of completion list
This is the general switch to turn automatic code completion
in the SQL Editor on or off. Disable it if you don't like code
completion windows that pop up while you write SQL code. If you
keep it enabled, then you can set a certain number of characters
you'll have to type before code completion kicks in, and choose to
disable code completion when a call-tip is displayed (as it would
close the call-tip window) or inside quoted text.
Manually invoke completion list on
Code completion may also be invoked manually. Here you
select how (Ctrl+Space or Tab key).
Confirm completion with Enter
Set this option to have the currently selected item in the
code completion window copied to the text buffer when you hit
Enter. Otherwise you can use the Tab key for that.
Load columns when required for completion
FlameRobin only loads column definition data when requested
to do so (for example, when you double click a table name in the
tree view). Set this option to let FlameRobin load missing column
information automatically when needed to show an auto-complete
list.
Statement History
FlameRobin can remember the statements you execute and allow
you to retrieve and re-execute past statements. This page allows you
to customize the feature.
Share SQL statement history
You can have a single statement history list for all the
databases you work with ("Between all databases") or a separate
history list for each of them ("Don't share"). Additionally, you
can make it so that all databases with the same display name
(typically copies of the same database, or databases with the same
structures, on different servers) share a history list.
Limit history item size
By default, each history list item is allowed to grow
without bounds. If you are concerned about the size of your
statement history lists, you can set an upper limit in Kilobytes
for each statement in the history list. Statements bigger than the
specified amount will not be added to the history list. This is
useful if you execute entire database-creation scripts
often.
Remember unsuccessfully executed buffers
By default, only statements that are executed without errors
are added to the history list. Set this option to have FlameRobin
remember also statements that caused errors.
Remember statements generated by FlameRobin
FlameRobin translates as much visual operations as possible
to SQL statements. Uncheck this option to prevent this kind of
statements from being added to the history lists.
Data Grid
When you issue a SQL SELECT statement in the SQL Editor, then the
Data Grid comes into play to show the results. Here you customize its
appearance and behaviour.
Date format
Choose the format you'd like for showing date and timestamp
values in the grid.
Time format
Choose the format you'd like for showing time and timestamp
values in the grid.
Grid header font
Choose a character font for the grid header (the column
names).
Grid cell font
Choose a character font for the grid cells (the data).
Re-format float and double precision numbers
If unchecked, decimal numbers are displayed as returned from
server; otherwise, they are formatted according to the specified
number of decimal digits.
Maximize data grid after execution of SELECT statement
Here you can turn off an useful feature that will enlarge the
data grid to the maximum available size when a SQL SELECT statement
returns more than a specified number of rows.
Automatically fetch all records in result set
Makes it so the grid will automatically fetch all records
whenever a SELECT statement is executed, instead of doing it in
batches.
Show BLOB data in the grid
Check this option if you want to see data fetched from BLOB
fields in the grid. By default FlameRobin doesn't fetch BLOBs. You can
also set a threshold, thus telling FlameRobin to fetch at most a
specified amount of data for each BLOB. This allows you to see the
first part of every BLOB field automatically without risking to
download huge amounts of data for no gain. Check the "Show data for
binary BLOBs" if you want the above settings applied to binary BLOBs
as well (by default they are applied to text BLOBs only).
Property Pages
This section contains customization options for FlameRobin-s
property pages.
Show default column values
Set this option to display the "Default" column in a table's
property page.
Show column descriptions
Set this option to display the "Description" column in a table's
property page.
Sql Statement generation
This page offers options to customize the way FlameRobin generated
SQL code, deals with object names in general, and quoted identifiers in
particular. If you don't know how quoted identifiers work in Firebird,
you should leave the relevant settings to their default values.
Use UPPER CASE keywords
Uncheck this option if you prefer FlameRobin to use lowercase
keywords in generated SQL code.
Quote names only when needed
Uncheck this option to have FlameRobin always quote object names
with " in dialect 3 databases. Leave it checked to let FlameRobin
detect on its own when it is needed to quote identifiers. The setting
"Quote names in mixed case" is only used for names entered by the user
(for example, when you add a new field to a table, you type in its
name).
If "Quote names only when needed" is checked and "Quote names in
mixed case" is not, FlameRobin will leave the name entered by the user
as it is, even if it is written in mixed case (unless the name is a
reserved word or contains non-ASCII characters, in which case it is
quoted).
Here are two use cases to better explain how these settings
interact with each other:
Table 1. Case 1: "Quote names only when needed" = on; "Quote names
in mixed case" = off
User enters
Turns into
FIELD1
FIELD1
Field1
Field1
Date
"Date"
Table 2. Case 2: "Quote names only when needed" = on; "Quote names
in mixed case" = on
User enters
Turns into
FIELD1
FIELD1
Field1
"Field1"
Date
"Date"
The rationale behind all this is that if you write a name
in mixed case, then you probably want it quoted (since you bothered to
mix the case). Some users, however, find this rule awkward and
unpredictable, and need a way to disable it.
Treat quote characters like other characters
This setting determines what happens if you type the quote
character (") as a part of some name. Again, it only affects
user-entered names. One option (unchecked) is to ignore it, other is
to treat it like any other character (checked). Quotes are special
cases, since they need to be escaped (by doubling them). When this
setting is off, user can force quoting even when it is not required,
by writing the name quoted in the text box.
Fields
Here you can customize the appearance of field types in the tree
and property windows.
When a column has a user-defined domain
In this case you can choose to see after the column name the
domain name, the data type, or both.
When a table column is computed
For computed columns, you can choose to see after the name the
data type or the computation expression, or both.
Logging
The SQL Editor can log all executed statements to a text file, a
set of text files or a database table. Here you set the relevant options
for file-based logging, while logging to a database table is decided
on a per-database
basis.
Log DML statements
When logging is enabled, by default only DDL (CREATE, ALTER,
DROP...) statements are logged. Turn this option on to enable logging
of DML (SELECT, INSERT, UPDATE, DELETE) statements as well.
Enable logging to file
Here you choose whether you want to log statements or not,
select the log file name(s), and choose if you want to output for
each statement also a comment with the version of FlameRobin,
database and user name, and execution date and time. Each statement
can go into separate file, and it uses incremental numbers for
filenames. You can format your own filenames by using %d as a
placeholder for number. If you want numbers with fixed number of
digits, like 0003 instead of 3, then use %04d as placeholder, where
4 means four digits, and 0 means that it should be padded with
zeros.
There are also options to add a comment header to each logged
statement, and to add SET TERM statements if required.
Database configuration
There is a set of options in FlameRobin that you can set on a
per-database basis. You access the database configuration window by right
clicking on a database and selecting the "Database preferences..."
command, or selecting the same command from the "Database" menu. Like
global preferences, database preferences are organized in categories; here
is a description of each category. Please read the tooltip that appears
when you move the mouse cursor over each option to know more about
it.
Main Tree View
Show system tables in tree
This is a database-level override of the global option with the
same name described here.
Connection
This page holds options that apply to database connection and
database registration info.
Warn when connection charset is different from database
charset
In Firebird it is quite an usual situation to have a single
character set for an entire database, and use that character set for
connecting to the database, otherwise string transliteration won't
work correctly. For this reason, FlameRobin will warn you on
connection if the two charsets don't match. There are cases, though,
in which you might want to connect to a database with a different
character set (for example when you use different charsets for
different tables or even columns, something Firebird allows), so here
you can turn off the warning for that particular database
Logging
Please see the section about global logging configuration. The
options are the same here, but they apply to the current database only.
There is an additional option to turn off logging for a particular
database only, while leaving it active for all the other
databases.
There are also additional options to enable logging to a database
table. The table is called FLAMEROBIN$LOG and it is
created automatically the first time it's needed. Each record written to
this table gets an ID fetched by executing a SELECT statement that you
can customize. By default, FlameRobin fetches the values from a
generator called FLAMEROBIN$LOG_GEN, which is created
on demand as well. You might want to set a custom SELECT statement if
you want to use the ID as some kind of metadata version number for your
database, in which case you define the logic to follow when generating
new IDs. For example, you could write a stored procedure and have
FlameRobin call it.
Customizing the FlameRobin environment
FlameRobin needs, or creates, some external files. This section
documents what these files contain, and where they are found. While
FlameRobin is installed with usable default settings, it is possible to
fine-tune the installation for special uses or multiple users. For
example, you can change the icons, the HTML templates used as property
pages for the objects in a database, or where FlameRobin stores and looks
for its configuration files.
FlameRobin uses the following files and folders:
fr_settings.conf; a file containing all settings you see in the
Preferences dialog box and other global settings of FlameRobin, like
position and size of open windows. FlameRobin needs write access
privileges to this file.
fr_databases.conf; a file containing all the servers and
databases defined in FlameRobin's Home tree. FlameRobin needs write
access privileges to this file.
the html-templates and conf-defs folders, which contain metadata
used to render some of FlameRobin's windows, and the docs folder,
containing documentation files that can be opened through FlameRobin's
main menu. FlameRobin only needs read access to the files in these
folders.
Locations:
$frhome is FlameRobin's home path. FlameRobin will find
html-templates, conf-defs and docs (which are immutable and integral
part of the FlameRobin distribution) in its home path. The home path
is usually the application folder (on Windows) and an otherwise
fixed folder on POSIX platforms.
Note
Defining the environment variable FR_HOME will override this
path.
Note
Passing -h <path> on FlameRobin's command line will
override this path and the environment variable as well.
$fruserhome is FlameRobin's user home path. FlameRobin will
find the conf files in its user home path. This path has to be
writable and may be common to all users on the machine or different
for each user. The user home path defaults to the user local data
directory, which varies with the platform.
Note
Defining the environment variable FR_USER_HOME will override
this path.
Note
Passing -uh <path> on FlameRobin's command line will
override this path and the environment variable as well.
Additionally, the <path> specification in the
command line parameters -h and -uh, or the value of the environment
variables FR_HOME and FR_USER_HOME may be "$app", which translates to the
common data folder (the application folder on Windows and an otherwise
fixed folder on POSIX platforms), or "$user", which translates to the user
local data directory. Otherwise, it has to be a path (without the trailing
path delimiter).
FlameRobin will only ever write to files in $fruserhome. If
FlameRobin is configured so that these files are shared by several users
(or concurrent instances of FlameRobin), then no precaution is taken to
avoid overwriting other users' changes.
Advanced topics
This section will document some advanced topics about how FlameRobin
works. The topics are not necessarily related, and are grouped here only
for convenience.
Encrypted password storage
FlameRobin can use strong encryption to safely store your
passwords in the configuration file (fr_databases.conf). Here's how it
works in detail:
all passwords (PW) are encrypted with a master password
(MPW)
the MPW alone is never saved into any file, it is only known
by the user
PW + MPW comprise the Cipher (which is stored in the .conf
file)
whenever a PW needs to be decrypted, the user is prompted for
the MPW
Cipher + MPW yield the PW
Defense from "known plain-text" attack
If an attacker gets hold of FlameRobin's .conf file, and he
knows one of the PWs, he would be able to compute the MPW (as Cipher +
PW yield the MPW). In order to prevent this, FlameRobin uses the
following scheme:
the string composed by MPW + username + database connection
string is used as a seed for some irreversible random number
generator (RNG) like ISAAC
the PW is encrypted with the numbers produced by the
RNG
since numbers are unique for each username + database
connection string, and RNG is not reversible, the attacker cannot
get MPW, and he also cannot decrypt any other password
flamerobin_0.9.3~svn+2220.orig/docs/fr_whatsnew.html 0000664 0000000 0000000 00000105534 11770571553 0022360 0 ustar 00root root 0000000 0000000
Changes
For known issues please see our bug tracker at:
http://www.flamerobin.org/bugs.php
Changes in FlameRobin 0.9.4 ALPHA
New features
- New templating system allows you to add you own SQL statement templates to the menu
- BLOB editor
Enhancements and Bug fixes
- Extended dialog with SQL statement history makes it easier to search
- View dependencies are resolved properly for Firebird 2.5
- Fixed statistics for UPDATE OR INSERT statements
- DataGrid: implemented Copy as IN list
- DataGrid: Fixed keyboard navigation
- Added new context menu options
- Fixed error messages when different character set is used in statements
- Warn when closing SQL editor with active transactions
- Ability to refresh list of objects in the main tree
- Fixed bug with quoted identifier when altering column type
- Generate change script is now available for columns as well
- Fixed truncating of Unicode characters with Firebird 1.5
Changes in FlameRobin 0.9.2 ALPHA
New features
- Allowed deleting from system tables (ex. to stop queries via MON$STATEMENTS)
- Added support for trusted authentication
- Databases can now be recreated from existing registration info
- Transaction isolation level can now be selected in SQL editor
- Win64 port
Enhancements and Bug fixes
- Fixed problems with mangled UTF8 identifiers
- Improved autoincrement triggers
- Drop FK only once for self-referencing tables in Rebuild script
- Improved management of passwords in connection dialogs
- Case insensitive DoMaIn keyword detection
- Fixed reported length of char fields in DDL extraction of system tables
- Fixed minor DDL extraction problem with BIGINT and scale
- Search words are now highlighted in advanced metadata search results
- DataGrid: sum of values of selected cells in the grid is shown in status bar
- Data grid cell editor now has a popup menu of a standard edit control
- Data of CHAR type using multibyte character set has correct padding now
- Database file size is now reported correctly for databases over 2GB
- Opening pages in tabs can now be controlled with Shift/Control keys
- Information on database property page is reloaded without reconnecting
- Fixed focus problem with property pages
- Fixed broken descriptions of system table columns in property pages
- Optionally display sources of all triggers on table property page
- Controls are now focused before their popup menus are shown
- Improved usability of menus and commands via keyboard
- SQL Editor: Improved detection of field sizes in resulting dataset
- Fixed statement parsing when SUBSTRING function is present
- Fixed column autocompletion for JOINed tables
- Fixed code completion when tables are listed in SQL89 order
- Fixed crash when opening query window and pressing F5 or F8 at once
- Improved the way views are switched in SQL editor
- Fixed completion under Mac OS X
- Other minor improvements and fixes to SQL editor
- Statement execution time is now displayed with milliseconds precision
- Minimum required version of wxWidgets is now 2.8.
Changes in FlameRobin 0.9.0 ALPHA
New features
- 100% Firebird 2.1 compatible
- Tab-based property pages for database object (like Firefox browser)
- DataGrid: load and save to file options for BLOB data.
- A new, improved dialog for inserting new rows.
Enhancements and Bug fixes
- Firebird 2.1: Support for database triggers
- Firebird 2.1: Support for global temporary tables
- Firebird 2.1: Descriptions can be set for generators
- Firebird 2.1: Support for domains as stored procedure parameter types
- Firebird 2.1: Detect when the equals sign (=) is used instead of DEFAULT
- SQL Editor: Improved autocomplete for table columns
- SQL Editor: Smarter window title, user configurable
- SQL Editor: fixed problems with scrolling of log control
- SQL Editor: removed flicker when executing scripts with COMMITs or AUTODLL ON
- SQL Editor: fixed crashes when COMMIT closes the window
- DataGrid: Copy as Update and Insert for single cell does not require cell to be selected anymore
- DataGrid: Timestamps have display format of their own (not date+time anymore)
- DataGrid: Fixed doubling of quotes entered in edited fields.
- DataGrid: BLOB data is now transliterated to GUI character set
- Procedure nodes in tree indicate when parameter info has been loaded
- DDL extraction for GRANTs fixed
- DDL extraction for BIGINT separated from NUMERIC(18,0)
- DDL extraction for CHAR columns in system tables fixed
- Fixed random crashes when dropping object from its property page
- Implemented missing prompt for dropping of some objects
- GRANT statements moved to end of database DDL script for easier diffs
Changes in FlameRobin 0.8.6 ALPHA
New features
- DataGrid: BLOB data is now (optionally) shown in cells. Read-only for now.
- DataGrid: A basic ORDER BY clause building when column header is double-clicked
- Support for LIST function in Firebird 2.1
- Support for MON tables in Firebird 2.1 (Read-only for now.)
Enhancements and Bug fixes
- DataGrid: FR no longer crashes when transaction has ended (commit/rollback) and grid edit control is active
- DataGrid: Complete string is now shown for editing and copying multiline text
- DataGrid: Copy command now copies a single cell if nothing is selected
- DataGrid: Fixed mixup between BLOB ID and data it contains
- DataGrid: Fixed bug when editing or deleting in grid causes exceptions.
- DataGrid: Successfully deleted rows are deselected, so user can easily see what is done.
- DDL extraction for GRANTs now only quotes names when needed
- DDL extraction for defaults does not use double quotes anymore.
- Database property page now shows minor ODS version when it is not zero
- Hovering over icons in privileges window, now really shows the grantor
- Improved parsing of SELECT statements
- Support for INSERT..RETURNING and EXECUTE STATEMENT that return a single record
- Fixed messagebox flood when Execute Procedure called and it doesn't return anything
- Print preview and SaveToHtmlFile works again for manual and changelog
- Extracting invalid DDL (missing domain data in system tables) does not crash FR anymore
- Silent installation (on Windows) does not show changelog window anymore
- Autogenerated domains (system domains) do not show up in the tree anymore
- Added ALTER DOMAIN action for domains
- Tree now shows NOT NULL for columns that inherit NOT NULL from domain
- Fixed parsing bug when non-reserved keyword is used as identifier
- Fixed autocomplete for selectable procedure alias when procedure call contains parameters (in PSQL)
Changes in FlameRobin 0.8.3 ALPHA
New features
- Even more detailed query execution statistics showing number of inserted, updated and deleted records for each table
- Fully customizable icon theme (you can create you own icon theme for FlameRobin without recompiling anything)
Enhancements and Bug fixes
- Optimizations for work over slow networks
- Configurable default action for tree items now also allow to SELECT FROM table, view or procedure
- Select and Execute for procedures merged into a single action depending on procedure type
- Better handling of exceptions, FlameRobin should not 'just crash' on Linux anymore
- Added Extract DDL for entire database to Advanced menu - opens directly in SQL editor
- SQL Editor: Minor cleanup of menus (both context and main menu)
- SQL Editor: Fixed enabling of Delete and Insert icons
- SQL Editor: Logging can now optionally be disabled for the current editor window
- SQL Editor: Upper or lower case keywords are now a customizable option
- SQL Editor: Database path in status bar is no longer overwritten
- SQL Editor: Faster and more correct parsing of large statements
- SQL Editor: Fixed problem with query plan not being shown for DML statements
- ALTER PROCEDURE now keeps objects' descriptions
- Tree view: System table columns behave like regular table columns
- Tree view: Only show first line for multiline text (computed columns and such)
- Tree view: Show special icon for foreign keys
- Fixes in generator of selectable stored procedures
- Aliases added to generated SELECT queries (makes easier editing afterwards)
- DataGrid: Fixed problems with speed when large dataset it loaded
- DataGrid: handles Shift+Space to select rows, Ctrl+Space to select columns
- DataGrid: deleted rows are not removed, but colored differently until user commits
- DataGrid: date and timestamp columns support "NOW", "DATE", "TODAY", "TOMORROW", "YESTERDAY"
- DataGrid: time columns support "NOW" and "TIME"
- DataGrid: parsing of milliseconds fixed
- DataGrid: all the edits can optionally be logged (as if they were statements typed into editor)
- DataGrid: date, time and timestamp entry now respects user's formatting
- Increased the default size of main FlameRobin window
- Option to remember window positions and sizes in now ON by default
- Find dialog is left as-is on subsequent searches
- Backup file extensions now default to .fbk and .gbk
- Backup and restore fixes regarding password entry
- Warning message when logging fails
- Nicer password dialog
- Fixed problem that a random number was shown when index statistics is NULL
- Fixed a dialog-loop bug that would pop up a lot of message boxes under some conditions
- Fixed crashes when working with objects with long names on Gtk
Changes in FlameRobin 0.8.1 ALPHA
New features
- SQL Editor: added command to Execute statements from cursor position
- SQL Editor: themable toolbar icons (support for entire FR in next version)
Enhancements and Bug fixes
- SQL Editor window now has a standard menu and toolbar
- Editable grid: fields are now set to NULL when DELETE key is pressed in empty box
- Fixed crash when Insert clicked after transaction Commit/Rollback
- Fixed crash when Insert clicked while editing field value
- Fixed problem with Insert being disabled until column info is loaded
- Fixed charset conversion problems with editable grid and insert dialog
- Insert and Delete buttons are now properly enabled and disabled
- Fixed DDL extraction for usernames in privileges
- Windows version can be installed without administrative privileges
Changes in FlameRobin 0.8.0 ALPHA
New features
- DataGrid: ability to edit (UPDATE) existing rows directly in the grid
- DataGrid: ability to add (INSERT) rows in the grid (with BLOB support)
- DataGrid: ability to remove (DELETE) one or multiple rows from the grid
- DataGrid: all features of editable grid work even for joins and complex queries
- DataGrid: data can now be exported as CSV values
- A basic Test Data Generator (please test, we need your feedback to improve it)
- Ability to create a selectable stored procedure for a table
Enhancements and Bug fixes
- DataGrid: Major improvement on memory consumption and speed
- DataGrid: Columns are named after aliases when available
- DataGrid: CHARACTER SET OCTETS columns shown as hexadecimal strings
- DataGrid: Proper display of DB_KEY columns
- DataGrid: New config option: automatically fetch all records (use with care)
- Property pages show database path instead of useless internal link info
- Property pages of system tables are now closed upon disconnecting
- Property pages now show owner for tables, views and procedures
- Fixed DDL extraction for usernames in GRANT statements
- Fixed DDL extraction for expression based indexes
- Fixed DDL extraction for multisegment indexes
- Fixed DDL extraction for external tables
- Fixed DDL extraction for computed columns (char and varchar size)
- Fixed DDL extraction for DEFAULTs
- SQL Editor: Enabled autocompletion for columns of system tables
- SQL Editor: Filename shown in dialog title
- SQL Editor: Files can be opened by drag&drop into editor window
- SQL Editor: Detailed query execution statistics
- SQL Editor: Improved startup speed
- Database size display now supports databases bigger than 2GB
- Database read-only status is now reported correctly
- Enabled drag&drop of files into backup, restore and database dialog
- Generator values can be reloaded now
- Basic 'edit domain' functionality via SQL
- Fixed charset conversion for ISO8859_x character sets
- Fixed charset conversion for UTF8 in ANSI build
- Fixed parsing bug that can hang the program at 100% CPU usage
- Fixed crash when Manage Users option is called from the Server menu
- Fixed crash when charset conversion fails
- Start arguments -u and -uh are now respected for fr_settings.conf as well
- UDFs that views depend on are now shown in Dependencies page
- Various minor bugfixes
Changes in FlameRobin 0.7.6 ALPHA
New features
- Logging changes to database table (so far only logging to textual files was available)
- Finally, FlameRobin is 100% compatible with Firebird 2.0
Enhancements and Bug fixes
- Improved parsing of committed statements
- Fixed bug #1591149 when reserved XML characters were used in database properties
- Fixed bug #1582935 with drag and drop query building
- Setting to clear log when executing is now respected
- Added META tag to exported HTML data: set to UTF-8 encoding
- Fixed invalid columns when fetching data fails
- Autocompletion now works properly with quoted identifiers
- Fixed crash when loading of property page fails
- Fixed crash when automatic DDL commit was active
- Fixed ALTER VIEW script - triggers are now included
- Fixed DDL extraction for UNIQUE INDEX
- Fixed DDL extraction for NUMERIC(x, 0) types
- Fixed problem with selection becoming invisible on Linux/Gtk
- Main tree view now behaves consistently on both double-click and Enter pressed
- Fixed minor UI glitches
Changes in FlameRobin 0.7.5 ALPHA
New features
- System tables now are available in main tree view
- Autocompletion of column/parameter names and old/new aliases in triggers
- Compatibility with Firebird 2.0
Enhancements and Bug fixes
- SQL Editor: Use row:col instead of col:row in statusbar
- SQL Editor: Autocompletion now works for case-sensitive object names
- SQL Editor: Autocompletion now works for names containing $ character
- Data grid: "Fetch all records" and "Cancel fetching all records" commands
- Data grid: "Copy records as Update" command
- SQL script execution now always stops on error
- Confirm dropping of items from main tree
- Fixed bugs related to character set conversions
- Fixed DDL extraction for various object types
Changes in FlameRobin 0.7.2 ALPHA
Enhancements and Bug fixes
- Fixed crash when opening role's property page with Firebird 1.x
- Fixed DDL extraction for unique constraints
- Fixed updating of privileges page for procedures
- Removed dependency on Firebird 2.0 for Gtk2 package
Changes in FlameRobin 0.7.1 ALPHA
Enhancements and Bug fixes
- Firebird client library version is removed from About box
- This version works with Firebird 1.0
Changes in FlameRobin 0.7.0 ALPHA
New features
- User management
- View, grant and revoke privileges on database objects
- Encrypted password storage
- Search SQL statement history and remove chosen entries
- Property page for databases
- License changed from IDPL to MIT/Expat
- Advanced metadata search (experimental - please provide feedback, so we can improve it)
Enhancements and Bug fixes
- Consistent property pages navigation
- UTF-8 charset changed to proper UTF8
- Identify user-named system-generated indices (needed for FB > 1.0)
- Fixed DDL extraction for various objects
- Two-step loading of property pages (more user friendly)
- Option to show objects DDL in SQL editor
- SQL Editor: ignore function keys when Ctrl or Alt are down
- Data grid: right-align nulls for numeric columns
- Data grid: display of milliseconds for time values
- Data grid: improved display of Unicode characters
- Various changes of user preferences are now instantly applied
- GTK: changes of tree control to look like native one
- GTK: Use of standard button IDs adds icons and localized captions
- Statement parser: identifiers of one char are no longer handled as empty
- Property pages now display much faster
- Autogenerated INSERT statements now show default values where available
- Firebird client library version is shown in About box
- various UI fixes and enhancements
Changes in FlameRobin 0.6.0 ALPHA
New features
- DDL extraction for all object types
- Rebuild View option (drop and recreate dependent objects)
- Option to drop database
Enhancements and Bug fixes
- TCP port setting is not longer ignored when creating, backing up and restoring databases
- New dialog for index creation.
- Field properties dialog can now be closed when no changes are made.
- Main tree control now behaves natively on all platforms.
- Progress dialog when connecting has ability to cancel
- Windows: FlameRobin doesn't destroy Clipboard contents when exiting
- Gtk2: Reduced font size for property pages.
- Gtk2: allow user to enter filename in dialogs.
- Other minor UI improvements.
- Faster disconnecting.
- Faster startup of SQL editor, statement history stored in separate files.
- Warn when copying data from the grid and not all rows have been fetched.
- If error happens while executing selection, the executed statement is selected in SQL editor.
- Fixed problem with context menu and large selection in SQL Editor.
- Fixed hiding of SQL editor behind other windows.
- Data grid is now scrolled by rows
- Triggers can be added/dropped from table's "Triggers" page.
- Take character set and collation into account when adding new columns.
- Configurable columns (default value, description) on table's property page.
- All UPDATE statements were treated as DDL. Fixed.
- Fixed bugs in statement parser.
- Preserve character sets when altering procedures.
- Added missing whitespace between AS and procedure source.
- Privileges are restored after ALTER VIEW.
- Property pages are now updated after ALTER INDEX and SET STATISTICS
- Custom charsets are now really used when connecting to database.
- Logging can now log SET TERM statements if desired.
- Logging now detects if target directory doesn't exist.
- Updated documentation about building FlameRobin.
Changes in FlameRobin 0.5.0 ALPHA
New features
- Event monitor: a dialog to register for and monitor posted events
- Support for quoted identifiers (case sensitive, etc.)
- Quick metadata search from the main screen
- Ability to retrive server version
Enhancements and Bug fixes
- Parsing of executed statements rewritten to work properly
- "Alter" menu item for procedures, triggers and views
- Allow user to enter backup filename with GTK2
- Fixed message dialogs which didn't have any buttons on GTK1
- Improved dependency detection (objects referenced in CHECK constraints)
- Support for 64-bit platforms
- SQL editor is no longer created beneath other windows
- Option to change tab size in SQL editor
- Option to show long line marker in SQL editor
- Many minor fixes and improvements for SQL editor
- Fixed problem with visible caret when SQL editor doesn't have focus
- Improved running of large SQL scripts
- Fixed problem with auto-completion on GTK2
- Option to limit size of single item in statement history
- Fixed drag and drop query building with multiple foreign keys
- Fixed disconnect problems on some Linux distributions
- Registered server and databases are saved instantly (for multiple instances of FlameRobin)
- Display name was used instead of hostname for backup and restore
- Fixed backup and restore problems on PPC
- Backup and restore dialogs show file selector with path of current file name
- Backup and restore settings are remembered on database basis
- FlameRobin is buildable with Borland's compiler again
- Improved overall speed in some areas
- Fixed reported character field lengths for multibyte character sets
- Fixed problems with datatypes when there aren't any user-defined domains in database
- Links included in saved .html Property pages
- Changed the way strings are translated in Unicode versions
- Cancel button isn't ignored anymore when adding unique constraints
- Cancel button isn't ignored anymore when reordering fields
- Improved Field editor
- Allow usage of various formats for multiple log files
Changes in FlameRobin 0.4.0 ALPHA
New features
- History of SQL statements, presistent even after closing program
- Activate/deactivate option for triggers
- "Drop multiple columns" option for tables
- Execute option for procedures
- Preferences can be set on database basis (ex. logging)
- Option to restore backup into new database
- Support for SET AUTODDL isql feature and option to automatically commit DDL statements
- Support for RECREATE and CREATE OR ALTER statements
- FreeBSD port
Enhancements and Bug fixes
- Fixed bug when password is supplied upon connecting
- Fixed parsing of committed statements when statement starts with a comment
- Main menu system reorganized
- Configuration files reorganized: user configuration files stored in user's directories
- Option to hide the status bar
- Option to hide databases that are not connected
- Fixed background colors of read-only fields in various dialogs
- Fixed "no database assigned" error for new databases
- Made sure the statement with error is visible in large scripts
- Changed the execute key to F4, as F9 has a special meaning on some platforms
- Long text now wraps on Dependencies page, making to easier to read
- Fixed scrollbar bugs of data grid with Linux port
- Mousewheel now works on Linux
- IBPP library sources added to the project
- Compare database's and connection charset and warn user if they differ
- Bigint datatype added to field properties dialog
- Option to disable autocompletion inside quoted text
- Fixed bug that sql editor dialog can have an empty title
- Improved handling of fatal exceptions
Changes in FlameRobin 0.3.0 ALPHA
New features
- Support for computed columns (shown in tree, removed from insert statements)
- Calltips for UDFs
- Properties page for UDFs
- Option "create new trigger" for tables and views
- Support for table indices - display, add, drop, recompute stats., edit descriptions
- Property page for view's triggers
- Select object's name in SQL editor and get its properties page
- Context menu for properties windows with options to print and save contents
- Implemented "open in new window" context menu option for properties page links
- Added main menu for main application window
- Added "diplay name" to servers and databases
- "Connect as" option for databases: ability to connect as different user/role without need to register new database
Enhancements and Bug fixes
- ALTER TABLE x ALTER COLUMN y updates the tree/properties page
- Improved handling when adding NOT NULL columns
- Fixed bug when SP and triggers contained ampersand (&) in source (FR would hang)
- Size and position of minimized windows is not stored anymore
- Pressing function keys and clicking buttons in SQL editor now does the same
- Prompt to overwrite files when saving in SQL editor
- Faster startup upon connection since domains are loaded on-demand
- Dropping tables and views now properly removes triggers from tree
- Fixed parsing of CREATE,ALTER,DROP trigger statements (tables/views get notified)
- Saving data to html file now uses default .html extension if user does not supply it
- Fixed and improved dependencies detection for database objects
- Fixed logging to file: newlines are added when headers are off
- Registration of Firebird embedded server is now possible from application
- Firebird 1.5 charsets made available, charset box is user editable to support future charsets
- Current tree item's database printed in status bar instead of tooltip
- Improved connecting speed by postponing loading of autogenerated domain info
Changes in FlameRobin 0.2.5 ALPHA
New features
- New Preferences dialog.
- Option to show/hide datatype and/or domain name in tree.
- Ability to keep working after fatal errors.
- Ability to prepare a statement (and show its PLAN) without actually executing it.
- New context menu for the SQL Editor and new "Execute selected" command.
- Ability to set a custom font for the SQL Editor.
- Ability to set a custom font for the data grid header and cells.
- Option to maximize the data grid when a certain number of rows has been fetched.
- SQL Editor: auto-completion can be disabled and invoked manually.
- Calltips for stored procedures in the SQL Editor.
- Basic drag&drop stuff (drag columns/tables from the tree to the SQL Editor).
- SQL Editor: new Option to clear old messages when executing new statements.
- You can set up logging of DDL (and optionally DML) statements to user defined log file(s).
- Configurable double-click action for tables, views and SPs in main tree.
- Option to prompt on exit.
- Option to alphabetically sort server and database entries in tree.
- Option to center dialogs on the screen.
- SQL Editor: new Search & replace tool (with support for regular expressions).
- Ability to add a new column to a table directly from the tree.
- Option to disallow showing table/view columns and stored procedure parameters as tree nodes.
- Option to make it so that a double click on a tree item shows the properties dialog instead of expanding the subtree.
- Added context menu for table columns in tree.
Enhancements and Bug fixes
- Data grid: tabs used as separators instead of spaces when copying data to the clipboard.
- Added server name (beside user@host) to the SQL Editor status bar.
- "Insert into" command now puts VALUES clause on a new line.
- Data grid: fixed display issue for non-null blobs.
- Better automatic name suggestion for constraints (avoids duplicate names).
- Fixed bug that caused FR to consume 100% CPU while doing nothing.
- Databases couldn't be created if Page size was left to the default value.
- SQL Editor: FR did hang when "set term" was issued without terminator.
- SQL Editor: fixed bug when statement consisting solely of comments is executed.
- SQL Editor: comments before SET statements were not handled correctly.
- Data grid: platform-standard line breaks are now used when copying data to the clipboard.
- Undo/redo/cut/copy/paste now work properly in the SQL Editor.
- The Data grid is now much more responsive even with a lot of NULLs in it.
- SQl Editor: added NULL to autocomplete list (solves known NULLIF problem).
- Fixed constant 1-pixel frame growth for Windows 98.
- Made database connections actually respect the charset.
- Maintain separate size for database creation/registration info dialogs.
- ALTER PROCEDURE now correctly reloads procedure parameters.
- Changing column datatype for field editor now works.
- Tree nodes can now be activated with double-click/Enter key on Linux too.
- Enabled clicking inside selection in the SQL Editor.
- Copy/paste of descriptions now works on Linux too.
- Fixed crash when changing field type from one to another user defined domain.
- Fixed known issue: if the connection credentials (username and password) of a registered database were modified, the new credentials were not used until FlameRobin was restarted.
Changes in FlameRobin 0.2.0 ALPHA
New features
- Brand new Backup/Restore dialogs that work in background, let you suppress the output messages and store their settings among invocations. Plus, the output messages can be copied to the clipboard.
- Many dialogs have been redesigned and now feature a cleaner GUI.
- "Show value" and "Show all values" context menu commands implemented for generators.
- Exceptions are now shown in the tree view and have Create/Drop menu commands and a property page.
- Property pages for triggers, table constraints, dependencies (all objects), generators were added. Plus, a special empty property page now appears for not yet supported object types, instead of an error message.
- Ability to view/add/drop table constraints.
- Reconnect menu command for databases will physically disconnect and reconnect a database in one shot.
- "Create new" and "Drop" commands added for external functions.
- New MacOS X port.