From 3766781218689ca38a07fad5c73735317797c572 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 6 Oct 1999 17:48:34 +0000 Subject: [PATCH] more changes for wxBase - starts to work under Unix git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- Makefile.in | 134 ++++++++++++++++++++++++++++++--- configure.in | 50 +++++++----- distrib/msw/tmake/filelist.txt | 84 +++++++++++---------- distrib/msw/tmake/unx.t | 105 +++++++++++++++----------- samples/console/console.cpp | 31 ++++++++ 5 files changed, 290 insertions(+), 114 deletions(-) create mode 100644 samples/console/console.cpp diff --git a/Makefile.in b/Makefile.in index 52f12c9578..73f9b49813 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,5 +1,5 @@ # -# This file was automatically generated by tmake at 13:22, 1999/10/06 +# This file was automatically generated by tmake at 18:19, 1999/10/06 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE UNX.T! # @@ -125,6 +125,43 @@ DISTDIR = ./_dist_dir/wx$(TOOLKIT) ############################## Files ################################## +BASE_HEADERS = \ + app.h \ + date.h \ + debug.h \ + defs.h \ + dynarray.h \ + dynlib.h \ + event.h \ + ffile.h \ + file.h \ + fileconf.h \ + hash.h \ + intl.h \ + list.h \ + log.h \ + longlong.h \ + mimetype.h \ + module.h \ + object.h \ + process.h \ + setup.h \ + strconv.h \ + stream.h \ + string.h \ + textfile.h \ + thread.h \ + time.h \ + timer.h \ + tokenzr.h \ + txtstrm.h \ + utils.h \ + variant.h \ + version.h \ + wx.h \ + wxchar.h \ + wxprec.h + WX_HEADERS = \ accel.h \ app.h \ @@ -1389,6 +1426,7 @@ MSW_COMMONOBJS = \ mstream.o \ object.o \ objstrm.o \ + odbc.o \ paper.o \ prntbase.o \ process.o \ @@ -1478,6 +1516,7 @@ MSW_COMMONDEPS = \ mstream.d \ object.d \ objstrm.d \ + odbc.d \ paper.d \ prntbase.d \ process.d \ @@ -1687,6 +1726,74 @@ MSW_GUIDEPS = \ window.d \ xpmhand.d +BASE_OBJS = \ + config.o \ + date.o \ + dynarray.o \ + dynlib.o \ + event.o \ + extended.o \ + ffile.o \ + file.o \ + fileconf.o \ + filefn.o \ + filesys.o \ + hash.o \ + init.o \ + intl.o \ + list.o \ + log.o \ + mimetype.o \ + module.o \ + object.o \ + process.o \ + strconv.o \ + stream.o \ + string.o \ + textfile.o \ + time.o \ + timercmn.o \ + tokenzr.o \ + txtstrm.o \ + utilscmn.o \ + variant.o \ + wxchar.o \ + utilsunx.o + +BASE_DEPS = \ + config.d \ + date.d \ + dynarray.d \ + dynlib.d \ + event.d \ + extended.d \ + ffile.d \ + file.d \ + fileconf.d \ + filefn.d \ + filesys.d \ + hash.d \ + init.d \ + intl.d \ + list.d \ + log.d \ + mimetype.d \ + module.d \ + object.d \ + process.d \ + strconv.d \ + stream.d \ + string.d \ + textfile.d \ + time.d \ + timercmn.d \ + tokenzr.d \ + txtstrm.d \ + utilscmn.d \ + variant.d \ + wxchar.d \ + utilsunx.d + HTMLOBJS = \ helpctrl.o \ helpdata.o \ @@ -1727,13 +1834,13 @@ HTMLDEPS = \ search.d \ winpars.d -UNIXOBJS = \ +UNIX_OBJS = \ dialup.o \ gsocket.o \ threadpsx.o \ utilsunx.o -UNIXDEPS = \ +UNIX_DEPS = \ dialup.d \ gsocket.d \ threadpsx.d \ @@ -1821,16 +1928,23 @@ JPEGOBJS = \ jquant2.o \ jdmerge.o +GUIOBJS = @GUIOBJS@ +GUIDEPS = @GUIDEPS@ +GUIHEADERS = @GUIHEADERS@ +COMMONOBJS = @COMMONOBJS@ +COMMONDEPS = @COMMONDEPS@ +GENERICOBJS = @GENERICOBJS@ +GENERICDEPS = @GENERICDEPS@ +UNIXOBJS = @UNIXOBJS@ +UNIXDEPS = @UNIXDEPS@ -OBJECTS = $(@GUIOBJS@) $(@COMMONOBJS@) $(@GENERICOBJS@) $(@UNIXOBJS@) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) +OBJECTS = @ALL_OBJECTS@ -DEPFILES = $(@GUIDEPS@) $(@COMMONDEPS@) $(@GENERICDEPS@) $(UNIXDEPS) $(HTMLDEPS) +DEPFILES = @ALL_DEPFILES@ -HEADERS = $(@GUIHEADERS@) $(HTML_HEADERS) $(UNIX_HEADERS) $(PROTOCOL_HEADERS) \ - $(GENERIC_HEADERS) $(WX_HEADERS) +HEADERS = @ALL_HEADERS@ -all: $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@ +all: @WX_CREATE_LINKS@ @WX_LIBRARY_NAME_STATIC@: $(OBJECTS) @$(INSTALL) -d ./lib @@ -1841,7 +1955,7 @@ all: $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@ @$(INSTALL) -d ./lib $(SHARED_LD) ./lib/$@ $(OBJECTS) $(EXTRALIBS) -CREATE_LINKS@: @WX_TARGET_LIBRARY@ +CREATE_LINKS: @WX_TARGET_LIBRARY@ @$(RM) ./lib/@WX_LIBRARY_LINK1@ @$(RM) ./lib/@WX_LIBRARY_LINK2@ @$(RM) ./lib/@WX_LIBRARY_LINK3@ diff --git a/configure.in b/configure.in index 960d2c06b0..d09e34544e 100644 --- a/configure.in +++ b/configure.in @@ -1672,13 +1672,6 @@ if test "$wxUSE_MOTIF" = 1; then GUIDIST=MOTIF_DIST fi -dnl someone explicitly added -ldl to the list of libraries for these targets - -dnl I don't know why has this been done, but let's respect this - with the -dnl exception of the systems which don't have libdl at all (VZ) -if test "$wxUSE_GTK" = 1 || test "$wxUSE_MOTIF" = 1 || test "$wxUSE_WINE" = 1; then - AC_CHECK_LIB(dl, main, GUI_TK_LIBRARY="$GUI_TK_LIBRARY -ldl") -fi - dnl the name of the directory where the files for this toolkit live TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"` @@ -2406,21 +2399,38 @@ HAVE_DL_FUNCS=0 HAVE_SHL_FUNCS=0 if test "$wxUSE_DYNLIB_CLASS" = "yes"; then dnl the test is a bit complicated because we check for dlopen() both with - dnl and without -ldl + dnl and without -ldl and we also try to find shl_load() if there is no + dnl dlopen() on this system AC_CHECK_FUNCS(dlopen, - [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1], - [AC_CHECK_LIB(dl, dlopen, - [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])]) - AC_CHECK_FUNCS( shl_load, - [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1]) + [ + AC_DEFINE(HAVE_DLOPEN) + HAVE_DL_FUNCS=1 + ], + [ + AC_CHECK_LIB(dl, dlopen, + [ + AC_DEFINE(HAVE_DLOPEN) + HAVE_DL_FUNCS=1 + LIBS="$LIBS -ldl" + ], + [ + AC_CHECK_FUNCS(shl_load, + [ + AC_DEFINE(HAVE_SHL_LOAD) + HAVE_SHL_FUNCS=1 + ]) + ]) + ]) if test "$HAVE_DL_FUNCS" = 0; then - if test "$USE_UNIX" = 1; then - AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support") - wxUSE_ODBC=no - wxUSE_DYNLIB_CLASS=no - else - AC_MSG_WARN("Cannot check dynlib requirements on non-Unix platforms. dynlib remains enabled.") + if test "$HAVE_SHL_FUNCS" = 0; then + if test "$USE_UNIX" = 1; then + AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support") + wxUSE_ODBC=no + wxUSE_DYNLIB_CLASS=no + else + AC_MSG_WARN("Cannot check dynlib requirements on non-Unix platforms. dynlib remains enabled.") + fi fi fi fi @@ -2787,7 +2797,7 @@ dnl --------------------------------------------------------------------------- GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $LIBPNG_LINK $ZLIB_LINK $TOOLKIT_LINK" dnl all additional libraries (except wxWindows itself) we link with -EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK" +EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK" if test "$wxUSE_GUI" = "yes"; then EXTRA_LIBS="$EXTRA_LIBS $GUILIBS" fi diff --git a/distrib/msw/tmake/filelist.txt b/distrib/msw/tmake/filelist.txt index 662511b16b..c9c1fa3350 100644 --- a/distrib/msw/tmake/filelist.txt +++ b/distrib/msw/tmake/filelist.txt @@ -29,6 +29,7 @@ # # Known flags: # B makes part of the base library too +# BO only for the base library # 16 a generic file implementing Win32 control for Win16 # 32 only can be compiled under Win32 # PS PostScript related file, normally not compiled under Windows @@ -40,9 +41,9 @@ # X Not required for the Motif port # # WX Base header -# GTK GTK header +# GTK GTK header # MSW MSW header -# MAC Mac header +# MAC Mac header # MOT Motif header # PM OS/2 header # GEN Generic header @@ -104,7 +105,7 @@ docmdi.cpp C docview.cpp C dynarray.cpp C B dynlib.cpp C B -event.cpp C +event.cpp C B extended.c C B ffile.cpp C B file.cpp C B @@ -129,6 +130,7 @@ imagjpeg.cpp C 32 imagpcx.cpp C 32 imagpng.cpp C 32 imagpnm.cpp C 32 +init.cpp C B,BO intl.cpp C B ipcbase.cpp C layout.cpp C @@ -153,7 +155,7 @@ sckstrm.cpp C S serbase.cpp C sizer.cpp C socket.cpp C S -stream.cpp C +stream.cpp C B strconv.cpp C B string.cpp C B tbarbase.cpp C @@ -163,7 +165,7 @@ textfile.cpp C B time.cpp C B timercmn.cpp C B tokenzr.cpp C B -txtstrm.cpp C +txtstrm.cpp C B unzip.c C url.cpp C S utilscmn.cpp C B @@ -276,7 +278,7 @@ gsocket.c M S dialup.cpp U threadpsx.cpp U -utilsunx.cpp U +utilsunx.cpp U B gsocket.c U gsockgtk.c R @@ -413,7 +415,7 @@ search.cpp H arrimpl.cpp W listimpl.cpp W accel.h W -app.h W +app.h W B bitmap.h W bmpbuttn.h W brush.h W @@ -435,7 +437,7 @@ config.h W control.h W cursor.h W dataobj.h W -date.h W +date.h W B datstrm.h W db.h W dbtable.h W @@ -446,21 +448,21 @@ dcprint.h W dcps.h W dcscreen.h W dde.h W -debug.h W -defs.h W +debug.h W B +defs.h W B dialog.h W dirdlg.h W dnd.h W docmdi.h W docview.h W dragimag.h W -dynarray.h W -dynlib.h W -event.h W +dynarray.h W B +dynlib.h W B +event.h W B expr.h W -ffile.h W -file.h W -fileconf.h W +ffile.h W B +file.h W B +fileconf.h W B filedlg.h W filefn.h W filesys.h W @@ -475,7 +477,7 @@ gdiobj.h W gifdecod.h W grid.h W gsocket.h W -hash.h W +hash.h W B help.h W helpbase.h W helphtml.h W @@ -484,30 +486,30 @@ helpxlp.h W icon.h W image.h W imaglist.h W -intl.h W +intl.h W B ioswrap.h W ipcbase.h W joystick.h W layout.h W laywin.h W -list.h W +list.h W B listbox.h W listctrl.h W -log.h W -longlong.h W +log.h W B +longlong.h W B matrix.h W mdi.h W memory.h W menu.h W menuitem.h W metafile.h W -mimetype.h W +mimetype.h W B minifram.h W -module.h W +module.h W B msgdlg.h W mstream.h W notebook.h W -object.h W +object.h W B objstrm.h W odbc.h W ownerdrw.h W @@ -519,7 +521,7 @@ pnghand.h W print.h W printdlg.h W prntbase.h W -process.h W +process.h W B progdlg.h W prop.h W propform.h W @@ -536,7 +538,7 @@ scrolbar.h W scrolwin.h W serbase.h W settings.h W -setup.h W +setup.h W B sizer.h W slider.h W socket.h W @@ -547,9 +549,9 @@ statbox.h W statline.h W stattext.h W statusbr.h W -strconv.h W -stream.h W -string.h W +strconv.h W B +stream.h W B +string.h W B tab.h W tabctrl.h W taskbar.h W @@ -559,35 +561,35 @@ tbarmsw.h W tbarsmpl.h W textctrl.h W textdlg.h W -textfile.h W -txtstrm.h W -thread.h W -time.h W -timer.h W +textfile.h W B +txtstrm.h W B +thread.h W B +time.h W B +timer.h W B tipdlg.h W -tokenzr.h W +tokenzr.h W B toolbar.h W tooltip.h W treectrl.h W types.h W url.h W -utils.h W +utils.h W B valgen.h W validate.h W valtext.h W -variant.h W -version.h W +variant.h W B +version.h W B wave.h W wfstream.h W window.h W -wx.h W +wx.h W B wx_cw.h W wx_cw_cm.h W wx_cw_d.h W -wxchar.h W +wxchar.h W B wxexpr.h W wxhtml.h W -wxprec.h W +wxprec.h W B xpmhand.h W zipstrm.h W zstream.h W diff --git a/distrib/msw/tmake/unx.t b/distrib/msw/tmake/unx.t index 7504ce6280..7b09416e1f 100644 --- a/distrib/msw/tmake/unx.t +++ b/distrib/msw/tmake/unx.t @@ -51,36 +51,32 @@ #! Common foreach $file (sort keys %wxCommon) { - next if $wxCommon{$file} =~ /\bR\b/; + ($fileobj = $file) =~ s/cp?p?$/\o/; + ($filedep = $file) =~ s/cp?p?$/\d/; - $file2 = $file; - $file =~ s/cp?p?$/\o/; - $file2 =~ s/cp?p?$/\d/; - $project{"WXGTK_COMMONOBJS"} .= $file . " "; - $project{"WXGTK_COMMONDEPS"} .= $file2 . " " - } - - foreach $file (sort keys %wxCommon) { - next if $wxCommon{$file} =~ /\bX\b/; - - $file2 = $file; - $file =~ s/cp?p?$/\o/; - $file2 =~ s/cp?p?$/\d/; - $project{"WXMOTIF_COMMONOBJS"} .= $file . " "; - $project{"WXMOTIF_COMMONDEPS"} .= $file2 . " " - } + #! 'B' flag means that the file makes part of wxBase too + if ( $wxCommon{$file} =~ /\bB\b/ ) { + $project{"BASE_OBJS"} .= $fileobj . " "; + $project{"BASE_DEPS"} .= $filedep . " "; + } - foreach $file (sort keys %wxCommon) { - next if $wxCommon{$file} =~ /\b(16)\b/; + #! if it's the wxBase-only file, nothing more to do with it + next if $wxCommon{$file} =~ /\bBO\b/; - #! needs extra files (sql*.h) so not compiled by default. - next if $file =~ /^odbc\./; + if ( $wxCommon{$file} !~ /\bR\b/ ) { #! unless not for GTK + $project{"WXGTK_COMMONOBJS"} .= $fileobj . " "; + $project{"WXGTK_COMMONDEPS"} .= $filedep . " " + } + if ( $wxCommon{$file} !~ /\bX\b/ ) { #! unless not for Motif + $project{"WXMOTIF_COMMONOBJS"} .= $fileobj . " "; + $project{"WXMOTIF_COMMONDEPS"} .= $filedep . " " + } - $file2 = $file; - $file =~ s/cp?p?$/\o/; - $file2 =~ s/cp?p?$/\d/; - $project{"WXMSW_COMMONOBJS"} .= $file . " "; - $project{"WXMSW_COMMONDEPS"} .= $file2 . " " + #! ODBC needs extra files (sql*.h) so not compiled by default. + if ( (file !~ /^odbc\./) && ($wxCommon{$file} !~ /\b(16)\b/) ) { + $project{"WXMSW_COMMONOBJS"} .= $fileobj . " "; + $project{"WXMSW_COMMONDEPS"} .= $filedep . " " + } } #! GUI @@ -127,17 +123,24 @@ } foreach $file (sort keys %wxUNIX) { - $file2 = $file; - $file =~ s/cp?p?$/\o/; - $file2 =~ s/cp?p?$/\d/; - $project{"WXUNIXOBJS"} .= $file . " "; - $project{"WXUNIXDEPS"} .= $file2 . " " + ($fileobj = $file) =~ s/cp?p?$/\o/; + ($filedep = $file) =~ s/cp?p?$/\d/; + + #! 'B' flag means that the file makes part of wxBase too + if ( $wxUNIX{$file} =~ /\bB\b/ ) { + $project{"BASE_OBJS"} .= $fileobj . " "; + $project{"BASE_DEPS"} .= $filedep . " " + } + + $project{"WXUNIX_OBJS"} .= $fileobj . " "; + $project{"WXUNIX_DEPS"} .= $filedep . " " } #! headers foreach $file (sort keys %wxWXINCLUDE) { - $project{"WX_HEADERS"} .= $file . " " + $project{"WX_HEADERS"} .= $file . " "; + $project{"BASE_HEADERS"} .= $file . " " if $wxWXINCLUDE{$file} =~ /\bB\b/; } foreach $file (sort keys %wxGENERICINCLUDE) { @@ -295,6 +298,9 @@ DISTDIR = ./_dist_dir/wx$(TOOLKIT) ############################## Files ################################## +BASE_HEADERS = \ + #$ ExpandList("BASE_HEADERS"); + WX_HEADERS = \ #$ ExpandList("WX_HEADERS"); @@ -381,17 +387,23 @@ MSW_GUIOBJS = \ MSW_GUIDEPS = \ #$ ExpandList("WXMSW_GUIDEPS"); +BASE_OBJS = \ + #$ ExpandList("BASE_OBJS"); + +BASE_DEPS = \ + #$ ExpandList("BASE_DEPS"); + HTMLOBJS = \ #$ ExpandList("WXHTMLOBJS"); HTMLDEPS = \ #$ ExpandList("WXHTMLDEPS"); -UNIXOBJS = \ - #$ ExpandList("WXUNIXOBJS"); +UNIX_OBJS = \ + #$ ExpandList("WXUNIX_OBJS"); -UNIXDEPS = \ - #$ ExpandList("WXUNIXDEPS"); +UNIX_DEPS = \ + #$ ExpandList("WXUNIX_DEPS"); ZLIBOBJS = \ adler32.o \ @@ -475,16 +487,23 @@ JPEGOBJS = \ jquant2.o \ jdmerge.o +GUIOBJS = @GUIOBJS@ +GUIDEPS = @GUIDEPS@ +GUIHEADERS = @GUIHEADERS@ +COMMONOBJS = @COMMONOBJS@ +COMMONDEPS = @COMMONDEPS@ +GENERICOBJS = @GENERICOBJS@ +GENERICDEPS = @GENERICDEPS@ +UNIXOBJS = @UNIXOBJS@ +UNIXDEPS = @UNIXDEPS@ -OBJECTS = $(@GUIOBJS@) $(@COMMONOBJS@) $(@GENERICOBJS@) $(@UNIXOBJS@) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) +OBJECTS = @ALL_OBJECTS@ -DEPFILES = $(@GUIDEPS@) $(@COMMONDEPS@) $(@GENERICDEPS@) $(UNIXDEPS) $(HTMLDEPS) +DEPFILES = @ALL_DEPFILES@ -HEADERS = $(@GUIHEADERS@) $(HTML_HEADERS) $(UNIX_HEADERS) $(PROTOCOL_HEADERS) \ - $(GENERIC_HEADERS) $(WX_HEADERS) +HEADERS = @ALL_HEADERS@ -all: $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@ +all: @WX_CREATE_LINKS@ @WX_LIBRARY_NAME_STATIC@: $(OBJECTS) @$(INSTALL) -d ./lib @@ -495,7 +514,7 @@ all: $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@ @$(INSTALL) -d ./lib $(SHARED_LD) ./lib/$@ $(OBJECTS) $(EXTRALIBS) -CREATE_LINKS@: @WX_TARGET_LIBRARY@ +CREATE_LINKS: @WX_TARGET_LIBRARY@ @$(RM) ./lib/@WX_LIBRARY_LINK1@ @$(RM) ./lib/@WX_LIBRARY_LINK2@ @$(RM) ./lib/@WX_LIBRARY_LINK3@ diff --git a/samples/console/console.cpp b/samples/console/console.cpp new file mode 100644 index 0000000000..e90e7b5858 --- /dev/null +++ b/samples/console/console.cpp @@ -0,0 +1,31 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: samples/console/console.cpp +// Purpose: a sample console (as opposed to GUI) progam using wxWindows +// Author: Vadim Zeitlin +// Modified by: +// Created: 04.10.99 +// RCS-ID: $Id$ +// Copyright: (c) 1999 Vadim Zeitlin +// Licence: wxWindows license +///////////////////////////////////////////////////////////////////////////// + +#include + +#include +#include + +int main() +{ + if ( !wxInitialize() ) + { + fprintf(stderr, "Failed to initialize the wxWindows library, aborting."); + } + + wxString s("Hello, "); + + wxLogMessage(s + "world!"); + + wxUninitialize(); + + return 0; +} -- 2.45.2