From 7be1f0d91a912a73b110157170124830446e15e1 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Fri, 18 Dec 1998 23:18:59 +0000 Subject: [PATCH] Partial Watcom C++ 10.6 support added (doesn't link for some reason) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- distrib/msw/msw.rsp | 1 + docs/msw/install.txt | 11 + include/wx/defs.h | 2 + include/wx/ownerdrw.h | 3 +- include/wx/string.h | 2 + src/common/cmndata.cpp | 7 +- src/common/filefn.cpp | 10 +- src/common/textfile.cpp | 5 + src/makeprog.wat | 32 + src/makewat.env | 103 +-- src/msw/makefile.wat | 947 +++++++++++++++++++++---- src/msw/ole/automtn.cpp | 11 +- wxinstall | 1486 +++++++++++++++++++++++++++++++++++++++ 13 files changed, 2383 insertions(+), 237 deletions(-) create mode 100644 src/makeprog.wat create mode 100644 wxinstall diff --git a/distrib/msw/msw.rsp b/distrib/msw/msw.rsp index 93f221d7f2..cd00058ea5 100644 --- a/distrib/msw/msw.rsp +++ b/distrib/msw/msw.rsp @@ -12,6 +12,7 @@ src/makeb32.env src/makebcc.env src/makemsw.env src/makewat.env +src/makeprog.wat src/makesc.env src/makeg95.env src/makem95.env diff --git a/docs/msw/install.txt b/docs/msw/install.txt index daf60852cb..32016ecef0 100644 --- a/docs/msw/install.txt +++ b/docs/msw/install.txt @@ -71,6 +71,17 @@ Borland C++ 4.5/5.0 compilation NOTE: only a few samples have up-to-date makefiles, e.g. minimal, docview, mdi. The utils makefile does not yet work. +Watcom C++ 10.6 compilation +--------------------------- + +Currently under construction, but so far we have: + +1. Change directory to wx\src\msw. Type 'wmake -f makefile.wat' to + make the wxWindows core library. +2. Change directory to wx\samples\minimal and type 'wmake -f makefile.wat' + to make this sample. There are a lot of link errors at this + point, so can anyone help work out what I've done wrong? + Gnu-Win32 b19/b20/Mingw32 compilation ------------------------------------- diff --git a/include/wx/defs.h b/include/wx/defs.h index 102264dc2d..e50e07a804 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -122,6 +122,8 @@ #define bool unsigned int #elif defined(__BORLANDC__) && (__BORLANDC__ < 0x500) typedef unsigned int bool; +#elif defined(__WATCOMC__) + typedef unsigned int bool; #elif defined(__SUNCC__) // If we use int, we get identically overloaded functions in config.cpp typedef unsigned char bool; diff --git a/include/wx/ownerdrw.h b/include/wx/ownerdrw.h index 050d8d9986..97b19a0e8f 100644 --- a/include/wx/ownerdrw.h +++ b/include/wx/ownerdrw.h @@ -132,4 +132,5 @@ private: m_nMarginWidth; // space occupied by bitmap to the left of the item }; -#endif //_OWNERDRW_H \ No newline at end of file +#endif + // _OWNERDRW_H diff --git a/include/wx/string.h b/include/wx/string.h index 9da3fb59f6..94964e5a6a 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -87,6 +87,8 @@ inline int WXDLLEXPORT Stricmp(const char *psz1, const char *psz2) return _stricmp(psz1, psz2); #elif defined(__BORLANDC__) return stricmp(psz1, psz2); +#elif defined(__WATCOMC__) + return stricmp(psz1, psz2); #elif defined(__UNIX__) || defined(__GNUWIN32__) return strcasecmp(psz1, psz2); #else diff --git a/src/common/cmndata.cpp b/src/common/cmndata.cpp index 61cf2f3a54..83ca461048 100644 --- a/src/common/cmndata.cpp +++ b/src/common/cmndata.cpp @@ -33,10 +33,15 @@ #ifdef __WXMSW__ #include -#ifndef __WIN32__ +#if !defined(__WIN32__) #include #include #endif + +#if defined(__WATCOMC__) +#include +#endif + #endif #if !USE_SHARED_LIBRARY diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index 0a86781a02..37107533ad 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -71,7 +71,8 @@ #include "wx/setup.h" -#if defined(HAVE_FNMATCH_H) || defined(__GNUWIN32__) +// No, Cygwin doesn't appear to have fnmatch.h after all. +#if defined(HAVE_FNMATCH_H) #include "fnmatch.h" #endif @@ -846,7 +847,7 @@ wxRenameFile (const wxString& file1, const wxString& file2) bool wxRemoveFile(const wxString& file) { -#if defined(_MSC_VER) || defined(__BORLANDC__) +#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__) int flag = remove(WXSTRINGCAST file); #else int flag = unlink(WXSTRINGCAST file); @@ -1406,7 +1407,7 @@ bool wxIsWild( const wxString& pattern ) bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special ) -#if defined(HAVE_FNMATCH_H) || defined(__GNUWIN32__) +#if defined(HAVE_FNMATCH_H) { if(dot_special) return fnmatch(pat.c_str(), text.c_str(), FNM_PERIOD) == 0; @@ -1415,7 +1416,8 @@ bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special ) } #else -#pragma error Broken implementation of wxMatchWild() -- needs fixing! +// #pragma error Broken implementation of wxMatchWild() -- needs fixing! + /* * WARNING: this code is broken! */ diff --git a/src/common/textfile.cpp b/src/common/textfile.cpp index c09b7e8647..0a01a6e70e 100644 --- a/src/common/textfile.cpp +++ b/src/common/textfile.cpp @@ -136,6 +136,10 @@ wxTextFile::Type wxTextFile::GuessType() const : n##t1 > n##t2 ? Type_##t1 \ : Type_##t2 +// Watcom C++ doesn't seem to be able to handle the macro +#if defined(__WATCOMC__) + return typeDefault; +#else if ( nDos > nUnix ) return GREATER_OF(Dos, Mac); else if ( nDos < nUnix ) @@ -144,6 +148,7 @@ wxTextFile::Type wxTextFile::GuessType() const // nDos == nUnix return nMac > nDos ? Type_Mac : typeDefault; } +#endif #undef GREATER_OF } diff --git a/src/makeprog.wat b/src/makeprog.wat new file mode 100644 index 0000000000..0a1784aa5d --- /dev/null +++ b/src/makeprog.wat @@ -0,0 +1,32 @@ +WXDIR = $(%WXWIN) + +!include $(WXDIR)\src\makewat.env + +WXLIB = $(WXDIR)\lib +LNK = $(PROGRAM).lnk + +all: $(PROGRAM).exe + +$(PROGRAM).exe : $(OBJECTS) $(PROGRAM).res $(LNK) $(WXLIB)\wx.lib + wlink @$(LNK) + $(BINDCOMMAND) $(PROGRAM).res + +$(PROGRAM).res : $(PROGRAM).rc $(WXDIR)\include\wx\msw\wx.rc + $(RC) $(RESFLAGS1) $(PROGRAM).rc + +$(LNK) : makefile.wat + %create $(LNK) + @%append $(LNK) debug all + @%append $(LNK) system $(LINKOPTION) + @%append $(LNK) $(STACK) + @%append $(LNK) name $(PROGRAM).exe + @%append $(LNK) file $(WXLIB)\wx.lib + @for %i in ($(OBJECTS)) do @%append $(LNK) file %i + +# @for %i in ($(EXTRALIBS)) do @%append $(LNK) file %i +# @%append $(LNK) $(MINDATA) +# @%append $(LNK) $(MAXDATA) + +clean: .SYMBOLIC + -erase *.obj *.bak *.err *.pch *.lib *.lnk *.res *.exe + diff --git a/src/makewat.env b/src/makewat.env index 8a668d85b2..90f685fdfe 100644 --- a/src/makewat.env +++ b/src/makewat.env @@ -10,15 +10,13 @@ FINAL=0 WATCOMDIR=$(%WATCOM) -#.EXTENSIONS: .exe .obj .c .cc .cpp .res .rc .def -# Set this to win386 if compiling under WIN386 mode, or -# to windows for normal 16-bit Windows, nt if compiling for WIN32s/NT -MODE= nt # windows +.EXTENSIONS: +.EXTENSIONS: .exe .obj .c .cc .cpp .res .rc .def -WXDIR = c:\wx -WXINC = $(WXDIR)\include\msw -WXBASEINC = $(WXDIR)\include\base +#WXDIR = d:\wx2\wxwind~1 +WXDIR = $(%WXWIN) +WXINC = $(WXDIR)\include # Suffixes OBJSUFF=obj @@ -30,73 +28,15 @@ WXDEBUG=0 PRECOMP = /fh=$(WXDIR)\src\msw\watcom.pch !endif -RC = wrc - -!ifeq MODE win386 - -##### WIN386 OPTIONS - -# Set LEVEL to 386 if using 32-bit compilation -LEVEL = 386 -CCC = wpp$(LEVEL) -CC = wcc$(LEVEL) -OS_TARGET = win386 -MODEL = -LINKOPTION = win386 -BINDCOMMAND = wbind -WATLIBDIR = $(WATCOMDIR)\lib386\win -MINDATA = option mindata=100K -MAXDATA = option maxdata=100K -STACK = option stack=64k -EXTRALIBS = $(WXDIR)\contrib\ctl3d\ctl3d32.obj -IFLAGS = -i=$(WXINC) -i=$(WXBASEINC) -i=$(WXDIR)\contrib\fafa -i=$(%watcom)\h;$(%watcom)\h\win -RESFLAGS1 = -r -bt=windows /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa -RESFLAGS2 = -R $(name) /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa +!ifeq WXDEBUG 1 +DEBUGFLAGS = /D__WXDEBUG__ DEBUGINFO = debug all - -#CPPFLAGS = /zw /w1 /zq /d2 /d__WIN386__ /zt4 $(MODEL) /d__WXMSW__ -CPPFLAGS = /zw /w1 /zq /d1 /d__WIN386__ $(MODEL) $(PRECOMP) /d__WXMSW__ $(EXTRACPPFLAGS) - +!else +DEBUGFLAGS = +DEBUGINFO = !endif -#### END WIN386 MODE - -!ifeq MODE windows -##### 16-BIT WINDOWS OPTIONS - -# Set LEVEL to 386 if using 32-bit compilation -LEVEL = -CCC = wpp$(LEVEL) -CC = wcc$(LEVEL) -OS_TARGET = windows -MODEL =/ml -LINKOPTION = windows -BINDCOMMAND = echo -WATLIBDIR = $(WATCOMDIR)\lib286\win -MINDATA = -MAXDATA = -STACK = -EXTRALIBS=$(WATLIBDIR)\shell.lib $(WATLIBDIR)\ddeml.lib $(WATLIBDIR)\ctl3d.lib $(WATLIBDIR)\commdlg.lib $(WATLIBDIR)\mmsystem.lib -IFLAGS = -i=$(WXINC) -i=$(WXBASEINC) -i=$(WXDIR)\contrib\fafa -RESFLAGS1 = -r -bt=windows -i=$(WXINC) -i=$(WXDIR)\contrib\fafa -RESFLAGS2 = -R -DEBUGINFO = debug all - -#-i=$(WXDIR)\contrib\itsybits - -# Note: I've added the data threshold (/zt4) for 16-bit operation, -# or we get link failure (TEXT segment overflow). Is this OK for -# 32-bit mode also? -- JACS -# An alternative might be /zc (put string literals in code segment). -#CPPFLAGS = /zw /w1 /zq /d1 /zt4 $(MODEL) /d__WXMSW__ -CPPFLAGS = /zw /w2 /zq /d1 $(MODEL) $(PRECOMP) /d__WXMSW__ $(EXTRACPPFLAGS) - -!endif -#### END WINDOWS MODE - -!ifeq MODE nt - -##### NT OPTIONS +RC = wrc LEVEL = 386 CCC = wpp$(LEVEL) @@ -112,12 +52,9 @@ MINDATA = MAXDATA = STACK = option stack=64k EXTRALIBS = $(WATLIBDIR)\ctl3d32.lib $(WATLIBDIR)\odbc32.lib -IFLAGS = -i=$(WXINC) -i=$(WXBASEINC) -i=$(WXDIR)\contrib\fafa -i=$(%watcom)\h;$(%watcom)\h\nt -RESFLAGS1 = -r -bt=nt /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa -RESFLAGS2 = -R $(name) /i$(WXDIR)\include\msw /i$(WXDIR)\contrib\fafa -DEBUGINFO = debug all # Linking: comment out if operating in a non-debuggable environment - -#-i=$(WXDIR)\contrib\itsybits +IFLAGS = -i=$(WXINC) -i=$(%watcom)\h;$(%watcom)\h\nt # -i=$(WXDIR)\include\wx\msw\gnuwin32 +RESFLAGS1 = -r -bt=nt /i$(WXDIR)\include +RESFLAGS2 = -R $(name) /i$(WXDIR)\include # Here are some possible optimization flags: # /5r Pentium timings @@ -127,22 +64,14 @@ DEBUGINFO = debug all # Linking: comment out if operating in a non-debuggable # The Watcom-recommended flags for optimum Pentium speed are: # /oneatx /zp4 /5 /fpi87 /fp5 -OPTFLAGS=/ox /5r # /DWXDEBUG=1 +OPTFLAGS=/ox /5r # /d1 for line numbers only: anything else produces an enormous wx32.lib -CPPFLAGS = /bt=nt /w1 /D__WIN32__ /zq $(OPTFLAGS) $(MODEL) $(PRECOMP) /d1 /d__WXMSW__ $(EXTRACPPFLAGS) - -!endif -#### END NT MODE +CPPFLAGS = /bt=nt /w1 /D__WIN32__ /D__WIN95__ /D__WINDOWS__ /zq $(OPTFLAGS) $(MODEL) $(PRECOMP) /d1 $(DEBUGFLAGS) /d__WXMSW__ $(EXTRACPPFLAGS) # /d__WATCOMC__ .cpp.obj: # $< # .AUTODEPEND *$(CCC) $(CPPFLAGS) $(IFLAGS) $< -# %create tmp.lbc -# @%append tmp.lbc $(CPPFLAGS) $(IFLAGS) $< -# echo $< -# $(CCC) @tmp.lbc - .c.obj: # $< # .AUTODEPEND *$(CC) $(CPPFLAGS) $(IFLAGS) $< diff --git a/src/msw/makefile.wat b/src/msw/makefile.wat index 1dc75e669b..663f291445 100644 --- a/src/msw/makefile.wat +++ b/src/msw/makefile.wat @@ -1,13 +1,10 @@ #!/binb/wmake.exe # # File: makefile.wat -# Author: Edward C. Zimmermann -# Created: 1994 -# Updated: Dmitri Chubraev, Nov.1994 -# RCS_ID $Id$ +# Author: Julian Smart +# Created: 1998 # -# Makefile : Builds wxWindows library for Windows 3.1 -# and Watcom C++ +# Makefile : Builds wxWindows library for Watcom C++, WIN32 WXDIR = ..\.. @@ -15,145 +12,811 @@ WXDIR = ..\.. WXLIB = $(WXDIR)\lib -LIBTARGET = $(WXLIB)\wx$(LEVEL).lib +LIBTARGET = $(WXLIB)\wx.lib DUMMY=dummydll -#CTL3DOBJ = ..\..\contrib\ctl3d\ctl3d32.obj -#CTL3DLIB = ..\..\contrib\ctl3d\win32s\ctl3d32.lib -FAFALIB = ..\..\contrib\fafa\fafa.lib -#ODBCLIB = ..\..\contrib\odbc\odbc32.lib -GAUGELIB = ..\..\contrib\gauge\gauge.lib -ITSYLIB = ..\..\contrib\itsybits\itsy.lib -WXSTRINGLIB = ..\..\contrib\wxstring\wxstring.lib -WXXPMLIB = ..\..\contrib\wxxpm\wxxpm.lib -PROIOLIB = ..\..\utils\prologio\lib\prologio.lib -DIBLIB = ..\..\utils\dib\dib.lib -RCPARSERLIB = ..\..\utils\rcparser\lib\rcparser.lib - -EXTRAMODULES = $(GAUGELIB) $(ITSYLIB) $(PROIOLIB) $(DIBLIB) $(WXSTRINGLIB) $(RCPARSERLIB) $(FAFALIB) # $(WXXPMLIB) -EXTRATARGETS = fafa gauge itsy prologio dib rcparser wxstring # wxxpm -EXTRATARGETSCLEAN = clean_fafa clean_gauge clean_itsy clean_proio clean_dib clean_rcp clean_wxstring # clean_wxxpm - -OBJECTS = wx_win.obj wx_frame.obj wx_panel.obj wx_utils.obj & - wx_item.obj wx_text.obj wx_gdi.obj wx_dialg.obj wx_canvs.obj wx_dc.obj & - wx_mf.obj wx_ipc.obj wx_timer.obj wx_clipb.obj wx_vlbox.obj & - wx_stat.obj wx_scrol.obj wx_buttn.obj wx_messg.obj wx_check.obj wx_choic.obj & - wx_rbox.obj wx_lbox.obj wx_group.obj wx_gauge.obj wx_txt.obj wx_mtxt.obj & - wx_slidr.obj wx_menu.obj wx_db.obj wx_cmdlg.obj wx_main.obj wx_combo.obj - -BASEOBJECTS = ..\base\wb_win.obj ..\base\wb_frame.obj ..\base\wb_panel.obj & - ..\base\wb_utils.obj ..\base\wx_lay.obj ..\base\wx_doc.obj ..\base\wb_res.obj & - ..\base\wb_main.obj ..\base\wb_item.obj ..\base\wb_list.obj ..\base\wb_obj.obj & - ..\base\wb_text.obj ..\base\wb_gdi.obj ..\base\wb_dialg.obj ..\base\wb_canvs.obj & - ..\base\wb_dc.obj ..\base\wb_mf.obj ..\base\wb_ps.obj ..\base\wx_enhdg.obj & - ..\base\wb_hash.obj ..\base\wb_ipc.obj ..\base\wb_form.obj ..\base\wb_timer.obj & - ..\base\wb_help.obj ..\base\wb_sysev.obj ..\base\wb_stdev.obj ..\base\wb_types.obj & - ..\base\wb_mgstr.obj ..\base\wb_data.obj ..\base\wb_stat.obj & - ..\base\wb_scrol.obj ..\base\wb_vlbox.obj ..\base\wb_print.obj ..\base\wx_tbar.obj & - ..\base\wx_bbar.obj ..\base\wx_mem.obj ..\base\wx_date.obj ..\base\wb_cmdlg.obj & - ..\base\wx_time.obj ..\base\wx_frac.obj - -# This now replaced by contrib\wxstring -#..\base\wxstring.obj - -all: base $(EXTRATARGETS) erasepch $(LIBTARGET) - -base: .SYMBOLIC - cd ..\base - wmake -f makefile.wat all OPTIONS="$(OPTIONS)" DEBUG="$(DEBUG)" LEVEL=$(LEVEL) - cd ..\msw - -$(LIBTARGET) : $(OBJECTS) $(BASEOBJECTS) $(EXTRAMODULES) +ODBCLIB = ..\..\contrib\odbc\odbc32.lib + +EXTRATARGETS = # wxxpm +EXTRATARGETSCLEAN = # clean_wxxpm + +GENDIR=$(WXDIR)\src\generic +COMMDIR=$(WXDIR)\src\common +XPMDIR=$(WXDIR)\src\xpm +OLEDIR=ole +MSWDIR=$(WXDIR)\src\msw + +DOCDIR = $(WXDIR)\docs + +GENERICOBJS= choicdgg.obj & + gridg.obj & + laywin.obj & + panelg.obj & + sashwin.obj & + scrolwin.obj & + splitter.obj & + statusbr.obj & + tabg.obj & + textdlgg.obj + +# These are generic things that don't need to be compiled on MSW, +# but sometimes it's useful to do so for testing purposes. +NONESSENTIALOBJS= printps.obj & + prntdlgg.obj & + msgdlgg.obj & + helpxlp.obj & + colrdlgg.obj & + fontdlgg.obj & + postscrp.obj + +COMMONOBJS = cmndata.obj & + config.obj & + docview.obj & + docmdi.obj & + dynarray.obj & + dynlib.obj & + event.obj & + file.obj & + filefn.obj & + fileconf.obj & + framecmn.obj & + gdicmn.obj & + image.obj & + intl.obj & + ipcbase.obj & + helpbase.obj & + layout.obj & + log.obj & + memory.obj & + module.obj & + odbc.obj & + object.obj & + prntbase.obj & + resource.obj & + tbarbase.obj & + tbarsmpl.obj & + textfile.obj & + timercmn.obj & + utilscmn.obj & + validate.obj & + valtext.obj & + date.obj & + hash.obj & + list.obj & + string.obj & + socket.obj & + sckaddr.obj & + sckfile.obj & + sckipc.obj & + sckstrm.obj & + url.obj & + http.obj & + protocol.obj & + time.obj & + tokenzr.obj & + wxexpr.obj & + y_tab.obj & + extended.obj & + process.obj & + wfstream.obj & + mstream.obj & + zstream.obj & + stream.obj & + datstrm.obj & + objstrm.obj & + variant.obj & + wincmn.obj + +# Can't compile this yet under Watcom C++ +# db.obj & +# dbtable.obj & + +MSWOBJS1 = & + accel.obj & + app.obj & + bitmap.obj & + bmpbuttn.obj & + brush.obj & + button.obj & + checkbox.obj & + checklst.obj & + choice.obj & + clipbrd.obj & + colordlg.obj & + colour.obj & + combobox.obj & + control.obj & + curico.obj & + cursor.obj & + data.obj & + dc.obj & + dcmemory.obj & + dcclient.obj & + dcprint.obj & + dcscreen.obj & + dde.obj & + dialog.obj & + dib.obj & + dibutils.obj & + dirdlg.obj & + filedlg.obj & + font.obj & + fontdlg.obj & + frame.obj & + gauge95.obj & + gaugemsw.obj & + gdiobj.obj & + helpwin.obj & + icon.obj & + imaglist.obj & + iniconf.obj & + joystick.obj & + listbox.obj & + listctrl.obj & + main.obj & + mdi.obj & + menu.obj & + menuitem.obj & + metafile.obj & + minifram.obj & + msgdlg.obj & + nativdlg.obj & + notebook.obj & + ownerdrw.obj & + palette.obj & + pen.obj & + penwin.obj & + pnghand.obj & + printdlg.obj & + printwin.obj & + radiobox.obj & + radiobut.obj & + region.obj & + registry.obj & + regconf.obj & + scrolbar.obj & + settings.obj & + slidrmsw.obj & + slider95.obj & + spinbutt.obj & + statbmp.obj & + statbox.obj & + statbr95.obj & + stattext.obj & + tabctrl.obj & + taskbar.obj & + tbar95.obj & + tbarmsw.obj & + textctrl.obj & + thread.obj & + timer.obj & + treectrl.obj & + utils.obj & + utilsexc.obj & + wave.obj & + window.obj & + +OLEOBJS = & + droptgt.obj & + dropsrc.obj & + dataobj.obj & + oleutils.obj & + uuid.obj & + automtn.obj + +XPMOBJECTS = crbuffri.obj& + crdatfri.obj& + create.obj crifrbuf.obj& + crifrdat.obj& + data.obj& + hashtab.obj misc.obj& + parse.obj rdftodat.obj& + rdftoi.obj& + rgb.obj scan.obj& + simx.obj wrffrdat.obj& + wrffrp.obj wrffri.obj + +# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc. +OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(OLEOBJS) # $(XPMOBJECTS) + +all: $(OBJECTS) $(LIBTARGET) + +$(LIBTARGET) : $(OBJECTS) %create tmp.lbc @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i - @for %i in ( $(BASEOBJECTS) ) do @%append tmp.lbc +%i - @for %i in ( $(EXTRAMODULES) ) do @%append tmp.lbc +%i wlib /b /c /n /p=512 $^@ @tmp.lbc clean: .SYMBOLIC - -erase *.obj *.bak *.err *.pch - cd ..\base - wmake -f makefile.wat clean - -erase $(LIBTARGET) - cd ..\msw - -cleanall: clean $(EXTRATARGETSCLEAN) - -fafa: .SYMBOLIC - cd $(WXDIR)\contrib\fafa - wmake -f makefile.wat all - cd $(WXDIR)\src\msw - -clean_fafa: .SYMBOLIC - cd $(WXDIR)\contrib\fafa - wmake -f makefile.wat clean - cd $(WXDIR)\src\msw - -itsy: .SYMBOLIC - cd $(WXDIR)\contrib\itsybits - wmake -f makefile.wat all - cd $(WXDIR)\src\msw - -clean_itsy: .SYMBOLIC - cd $(WXDIR)\contrib\itsybits - wmake -f makefile.wat clean - cd $(WXDIR)\src\msw - -gauge: .SYMBOLIC - cd $(WXDIR)\contrib\gauge - wmake -f makefile.wat all - cd $(WXDIR)\src\msw - -clean_gauge: .SYMBOLIC - cd $(WXDIR)\contrib\gauge - wmake -f makefile.wat clean - cd $(WXDIR)\src\msw - -wxxpm: .SYMBOLIC - cd $(WXDIR)\contrib\wxxpm - wmake -f makefile.wat all - cd $(WXDIR)\src\msw - -clean_wxxpm: .SYMBOLIC - cd $(WXDIR)\contrib\wxxpm - wmake -f makefile.wat clean - cd $(WXDIR)\src\msw - -dib: .SYMBOLIC - cd $(WXDIR)\utils\dib - wmake -f makefile.wat all - cd $(WXDIR)\src\msw - -clean_dib: .SYMBOLIC - cd $(WXDIR)\utils\dib - wmake -f makefile.wat clean - cd $(WXDIR)\src\msw - -prologio: .SYMBOLIC - cd $(WXDIR)\utils\prologio\src - wmake -f makefile.wat all - cd $(WXDIR)\src\msw - -clean_proio: .SYMBOLIC - cd $(WXDIR)\utils\prologio\src - wmake -f makefile.wat clean - cd $(WXDIR)\src\msw - -rcparser: .SYMBOLIC - cd $(WXDIR)\utils\rcparser\src - wmake -f makefile.wat all - cd $(WXDIR)\src\msw - -wxstring: .SYMBOLIC - cd $(WXDIR)\contrib\wxstring - wmake -f makefile.wat all OPTIONS="$(OPTIONS)" DEBUG="$(DEBUG)" - cd $(WXDIR)\src\msw - -clean_wxstring: .SYMBOLIC - cd $(WXDIR)\contrib\wxstring - wmake -f makefile.wat clean - cd $(WXDIR)\src\msw - -clean_rcp: .SYMBOLIC - cd $(WXDIR)\utils\rcparser\src - wmake -f makefile.wat clean - cd $(WXDIR)\src\msw + -erase *.obj + -erase $(LIBLARGET) + -erase *.pch + +cleanall: clean + +accel.obj: $(MSWDIR)\accel.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +app.obj: $(MSWDIR)\app.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +bitmap.obj: $(MSWDIR)\bitmap.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +bmpbuttn.obj: $(MSWDIR)\bmpbuttn.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +brush.obj: $(MSWDIR)\brush.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +button.obj: $(MSWDIR)\button.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +choice.obj: $(MSWDIR)\choice.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +checkbox.obj: $(MSWDIR)\checkbox.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +checklst.obj: $(MSWDIR)\checklst.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +clipbrd.obj: $(MSWDIR)\clipbrd.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +colordlg.obj: $(MSWDIR)\colordlg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +colour.obj: $(MSWDIR)\colour.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +combobox.obj: $(MSWDIR)\combobox.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +control.obj: $(MSWDIR)\control.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +curico.obj: $(MSWDIR)\curico.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +cursor.obj: $(MSWDIR)\cursor.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +data.obj: $(MSWDIR)\data.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dde.obj: $(MSWDIR)\dde.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dc.obj: $(MSWDIR)\dc.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dcmemory.obj: $(MSWDIR)\dcmemory.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dcclient.obj: $(MSWDIR)\dcclient.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dcprint.obj: $(MSWDIR)\dcprint.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dcscreen.obj: $(MSWDIR)\dcscreen.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dialog.obj: $(MSWDIR)\dialog.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dib.obj: $(MSWDIR)\dib.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dibutils.obj: $(MSWDIR)\dibutils.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dirdlg.obj: $(MSWDIR)\dirdlg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +filedlg.obj: $(MSWDIR)\filedlg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +font.obj: $(MSWDIR)\font.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +fontdlg.obj: $(MSWDIR)\fontdlg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +frame.obj: $(MSWDIR)\frame.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +gauge95.obj: $(MSWDIR)\gauge95.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +gaugemsw.obj: $(MSWDIR)\gaugemsw.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +gdiobj.obj: $(MSWDIR)\gdiobj.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +icon.obj: $(MSWDIR)\icon.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +imaglist.obj: $(MSWDIR)\imaglist.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +joystick.obj: $(MSWDIR)\joystick.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +listbox.obj: $(MSWDIR)\listbox.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +listctrl.obj: $(MSWDIR)\listctrl.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +main.obj: $(MSWDIR)\main.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +mdi.obj: $(MSWDIR)\mdi.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +menu.obj: $(MSWDIR)\menu.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +menuitem.obj: $(MSWDIR)\menuitem.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +metafile.obj: $(MSWDIR)\metafile.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +minifram.obj: $(MSWDIR)\minifram.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +msgdlg.obj: $(MSWDIR)\msgdlg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +nativdlg.obj: $(MSWDIR)\nativdlg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +notebook.obj: $(MSWDIR)\notebook.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +ownerdrw.obj: $(MSWDIR)\ownerdrw.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +palette.obj: $(MSWDIR)\palette.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +pen.obj: $(MSWDIR)\pen.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +penwin.obj: $(MSWDIR)\penwin.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +pnghand.obj: $(MSWDIR)\pnghand.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +printdlg.obj: $(MSWDIR)\printdlg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +printwin.obj: $(MSWDIR)\printwin.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +radiobox.obj: $(MSWDIR)\radiobox.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +radiobut.obj: $(MSWDIR)\radiobut.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +region.obj: $(MSWDIR)\region.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +registry.obj: $(MSWDIR)\registry.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +regconf.obj: $(MSWDIR)\regconf.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +scrolbar.obj: $(MSWDIR)\scrolbar.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +settings.obj: $(MSWDIR)\settings.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +slidrmsw.obj: $(MSWDIR)\slidrmsw.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +slider95.obj: $(MSWDIR)\slider95.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +spinbutt.obj: $(MSWDIR)\spinbutt.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +statbmp.obj: $(MSWDIR)\statbmp.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +statbox.obj: $(MSWDIR)\statbox.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +statbr95.obj: $(MSWDIR)\statbr95.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +stattext.obj: $(MSWDIR)\stattext.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +tabctrl.obj: $(MSWDIR)\tabctrl.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +taskbar.obj: $(MSWDIR)\taskbar.cpp + cl @<< + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +tbar95.obj: $(MSWDIR)\tbar95.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +tbarmsw.obj: $(MSWDIR)\tbarmsw.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +textctrl.obj: $(MSWDIR)\textctrl.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +thread.obj: $(MSWDIR)\thread.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +timer.obj: $(MSWDIR)\timer.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +treectrl.obj: $(MSWDIR)\treectrl.cpp + cl @<< + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +utils.obj: $(MSWDIR)\utils.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +utilsexc.obj: $(MSWDIR)\utilsexc.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +wave.obj: $(MSWDIR)\wave.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +window.obj: $(MSWDIR)\window.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +droptgt.obj: $(OLEDIR)\droptgt.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dropsrc.obj: $(OLEDIR)\dropsrc.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dataobj.obj: $(OLEDIR)\dataobj.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +oleutils.obj: $(OLEDIR)\oleutils.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +uuid.obj: $(OLEDIR)\uuid.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +automtn.obj: $(OLEDIR)\automtn.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +######################################################## +# Common objects (always compiled) + +cmndata.obj: $(COMMDIR)\cmndata.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +config.obj: $(COMMDIR)\config.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +db.obj: $(COMMDIR)\db.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dbtable.obj: $(COMMDIR)\dbtable.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +docview.obj: $(COMMDIR)\docview.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +docmdi.obj: $(COMMDIR)\docmdi.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dynarray.obj: $(COMMDIR)\dynarray.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +dynlib.obj: $(COMMDIR)\dynlib.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +event.obj: $(COMMDIR)\event.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +file.obj: $(COMMDIR)\file.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +fileconf.obj: $(COMMDIR)\fileconf.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +filefn.obj: $(COMMDIR)\filefn.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +framecmn.obj: $(COMMDIR)\framecmn.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +gdicmn.obj: $(COMMDIR)\gdicmn.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +image.obj: $(COMMDIR)\image.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +intl.obj: $(COMMDIR)\intl.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +ipcbase.obj: $(COMMDIR)\ipcbase.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +helpbase.obj: $(COMMDIR)\helpbase.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +layout.obj: $(COMMDIR)\layout.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +log.obj: $(COMMDIR)\log.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +memory.obj: $(COMMDIR)\memory.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +module.obj: $(COMMDIR)\module.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +object.obj: $(COMMDIR)\object.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +odbc.obj: $(COMMDIR)\odbc.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +postscrp.obj: $(COMMDIR)\postcrp.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +prntbase.obj: $(COMMDIR)\prntbase.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +resource.obj: $(COMMDIR)\resource.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +tbarbase.obj: $(COMMDIR)\tbarbase.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +tbarsmpl.obj: $(COMMDIR)\tbarsmpl.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +textfile.obj: $(COMMDIR)\textfile.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +timercmn.obj: $(COMMDIR)\timercmn.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +utilscmn.obj: $(COMMDIR)\utilscmn.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +validate.obj: $(COMMDIR)\validate.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +valtext.obj: $(COMMDIR)\valtext.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +date.obj: $(COMMDIR)\date.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +wxexpr.obj: $(COMMDIR)\wxexpr.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +hash.obj: $(COMMDIR)\hash.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +list.obj: $(COMMDIR)\list.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +string.obj: $(COMMDIR)\string.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +socket.obj: $(COMMDIR)\socket.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +sckaddr.obj: $(COMMDIR)\sckaddr.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +sckfile.obj: $(COMMDIR)\sckfile.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +sckipc.obj: $(COMMDIR)\sckipc.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +sckstrm.obj: $(COMMDIR)\sckstrm.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +url.obj: $(COMMDIR)\url.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +http.obj: $(COMMDIR)\http.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +protocol.obj: $(COMMDIR)\protocol.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +tokenzr.obj: $(COMMDIR)\tokenzr.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +matrix.obj: $(COMMDIR)\matrix.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +time.obj: $(COMMDIR)\time.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +stream.obj: $(COMMDIR)\stream.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +wfstream.obj: $(COMMDIR)\wfstream.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +mstream.obj: $(COMMDIR)\mstream.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +zstream.obj: $(COMMDIR)\zstream.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +datstrm.obj: $(COMMDIR)\datstrm.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +objstrm.obj: $(COMMDIR)\objstrm.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +extended.obj: $(COMMDIR)\extended.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\extended.c + +process.obj: $(COMMDIR)\process.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +variant.obj: $(COMMDIR)\variant.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +wincmn.obj: $(COMMDIR)\wincmn.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c + *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c + +# *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c + +$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c + copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c + +$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c + copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c + +######################################################## +# Generic objects (not always compiled, depending on +# whether platforms have native implementations) + +choicdgg.obj: $(GENDIR)\choicdgg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +colrdlgg.obj: $(GENDIR)\colrdgg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +fontdlgg.obj: $(GENDIR)\fontdlgg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +gridg.obj: $(GENDIR)\gridg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +helpxlp.obj: $(GENDIR)\helpxlp.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +laywin.obj: $(GENDIR)\laywin.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +msgdlgg.obj: $(GENDIR)\msgdlgg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +panelg.obj: $(GENDIR)\panelg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +printps.obj: $(GENDIR)\printps.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +prntdlgg.obj: $(GENDIR)\prntdlgg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +sashwin.obj: $(GENDIR)\sashwin.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +scrolwin.obj: $(GENDIR)\scrolwin.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +splitter.obj: $(GENDIR)\splitter.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +statusbr.obj: $(GENDIR)\statusbr.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +tabg.obj: $(GENDIR)\tabg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +textdlgg.obj: $(GENDIR)\textdlgg.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + +crbuffri.obj: $(XPMDIR)\crbuffri.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +crbuffrp.obj: $(XPMDIR)\crbuffrp.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +crdatfri.obj: $(XPMDIR)\crdatfri.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +crdatfrp.obj: $(XPMDIR)\crdatfrp.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +create.obj: $(XPMDIR)\create.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +crifrbuf.obj: $(XPMDIR)\crifrbuf.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +crifrdat.obj: $(XPMDIR)\crifrdat.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +crpfrbuf.obj: $(XPMDIR)\crpfrbuf.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +crpfrdat.obj: $(XPMDIR)\crpfrdat.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +# TODO: what to do about this clash of filename???? +#data.obj: $(XPMDIR)\data.c +# *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +hashtab.obj: $(XPMDIR)\hashtab.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +misc.obj: $(XPMDIR)\misc.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +parse.obj: $(XPMDIR)\parse.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +rdftodat.obj: $(XPMDIR)\rdftodat.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +rdftoi.obj: $(XPMDIR)\rdftoi.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +rdftop.obj: $(XPMDIR)\rdftop.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +rgb.obj: $(XPMDIR)\rgb.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +scan.obj: $(XPMDIR)\scan.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +simx.obj: $(XPMDIR)\simx.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +wrffrdat.obj: $(XPMDIR)\wrffrdat.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +wrffri.obj: $(XPMDIR)\wrffri.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + +wrffrp.obj: $(XPMDIR)\wrffrp.c + *$(CC) $(CPPFLAGS) $(IFLAGS) $< + + +#wxxpm: .SYMBOLIC +# cd $(WXDIR)\contrib\wxxpm +# wmake -f makefile.wat all +# cd $(WXDIR)\src\msw + +#clean_wxxpm: .SYMBOLIC +# cd $(WXDIR)\contrib\wxxpm +# wmake -f makefile.wat clean +# cd $(WXDIR)\src\msw + + diff --git a/src/msw/ole/automtn.cpp b/src/msw/ole/automtn.cpp index 44207bb733..e16be59a32 100644 --- a/src/msw/ole/automtn.cpp +++ b/src/msw/ole/automtn.cpp @@ -163,8 +163,7 @@ bool wxAutomationObject::Invoke(const wxString& member, int action, for (i = 0; i < noArgs; i++) { // Again, reverse args - wxVariant& theVariant = INVOKEARG((noArgs-1) - i); - if (!ConvertVariantToOle(theVariant, oleArgs[i])) + if (!ConvertVariantToOle(INVOKEARG((noArgs-1) - i), oleArgs[i])) return FALSE; // TODO: clean up memory at this point } @@ -509,7 +508,11 @@ bool wxAutomationObject::ConvertVariantToOle(const wxVariant& variant, VARIANTAR else if (type == "bool") { oleVariant.vt = VT_BOOL; +#ifdef __WATCOMC__ + oleVariant.bool = variant.GetBool(); +#else oleVariant.boolVal = variant.GetBool(); +#endif } else if (type == "string") { @@ -633,7 +636,11 @@ bool wxAutomationObject::ConvertOleToVariant(const VARIANTARG& oleVariant, wxVar case VT_BOOL: { +#ifdef __WATCOMC__ + variant = (bool) (oleVariant.bool != 0); +#else variant = (bool) (oleVariant.boolVal != 0); +#endif break; } case VT_R8: diff --git a/wxinstall b/wxinstall new file mode 100644 index 0000000000..0f634fd61e --- /dev/null +++ b/wxinstall @@ -0,0 +1,1486 @@ +#!/bin/sh +# N.B. make sure this really is a true Bourne-compatible shell. + +# !!!! WARNING !!! THIS IS IN DEVELOPMENT AND HAS NOT BEEN +# TESTED. DO NOT USE YET! +# Use src/motif/makefile.unx directly instead, with the 'motif' +# target. + +############################################################### +# wxinstal -- wxWindows for Motif installation script. # +# Julian Smart, December 1998 # +# Usage: wxinstall [optional wxWindows target directory] # +# Note: this uses plain makefiles. You can also use the # +# configure system: see docs/motif/install.txt. # +############################################################### + +########### Edit these variables for your system. ############# +########### ALSO edit wx/src/make.env once unarchived ######### + +# Editor +MYEDITOR=$EDITOR +if [ "$MYEDITOR" = "" ] +then + MYEDITOR=emacs +fi + +# Pager +MYPAGER=$PAGER +if [ "$MYPAGER" = "" ] +then + MYPAGER=more +fi + +# wxWindows directory to install to +WXDIR=`pwd` +if [ ! "$1" = "" ] +then + WXDIR=$1 +fi + +# Target (motif, xview) +GUITARGET=motif + +# Archive prefix, dependent on version number +ARCHIVE=wx200 + +# Platform. 1 = generic platform +PLATFORM=1 + +# Current directory +CURRENTDIR=`pwd` + +# PostScript viewer, if any +POSTSCRIPTVIEWER=ghostview + +# PostScript viewer, if any +HTMLVIEWER=netscape + +# Don't change this +GUISUFFIX=_motif + +if [ "$GUITARGET" = "motif" ] +then + GUISUFFIX=_motif +fi + +# If you add platforms, you just need +# to adjust this number, and +# add environment variables +# for a description and the filename. + +PLATFORMCOUNT=12 + +PLATFORM1="Generic/Linux with gcc" +PLATFORMFILE1="linux.env" + +PLATFORM2="Solaris with gcc" +PLATFORMFILE2="sol_gcc.env" + +PLATFORM3="Solaris with Sun C++" +PLATFORMFILE3="sol_sun.env" + +PLATFORM4="SunOS 4.x.x with gcc" +PLATFORMFILE4="sunosgcc.env" + +PLATFORM5="FreeBSD with gcc" +PLATFORMFILE5="freebsd.env" + +PLATFORM6="AIX with gcc" +PLATFORMFILE6="aixgcc.env" + +PLATFORM7="AIX with CSet++" +PLATFORMFILE7="aixcset.env" + +PLATFORM8="Data General" +PLATFORMFILE8="datagen.env" + +PLATFORM9="HPUX" +PLATFORMFILE9="hp.env" + +PLATFORM10="IRIX" +PLATFORMFILE10="irix.env" + +PLATFORM11="DEC OSF" +PLATFORMFILE11="decosf.env" + +PLATFORM12="VAX VMS" +PLATFORMFILE12="vms.env" + +install_from_tar() +{ + if [ -f $CURRENTDIR/$ARCHIVE"gen.tar" ] + then + if [ ! -d $WXDIR ] + then + echo Making directory $WXDIR + mkdir $WXDIR + fi + if [ ! -d $WXDIR ] + then + echo $WXDIR" cannot be created!" + else + echo Untarring $CURRENTDIR/$ARCHIVE"*.tar." + echo Please be patient... + cd $WXDIR + tar xf $CURRENTDIR/$ARCHIVE"gen.tar" + tar xf $CURRENTDIR/$ARCHIVE"mot.tar" + echo If you saw no errors, untarring was successful. + fi + else + echo $CURRENTDIR/$ARCHIVE"gen.tar" not found. + fi + + # Unarchive HTML documentation if found + if [ -f $CURRENTDIR/$ARCHIVE"htm.tar" ] + then + echo Untarring HTML documentation $CURRENTDIR/$ARCHIVE"htm.tar." + echo Please be patient... + cd $WXDIR + tar xf $CURRENTDIR/$ARCHIVE"htm.tar" + fi + + # Unarchive PDF documentation if found + if [ -f $CURRENTDIR/$ARCHIVE"pdf.tar" ] + then + echo Untarring PDF documentation $CURRENTDIR/$ARCHIVE"pdf.tar." + echo Please be patient... + cd $WXDIR + tar xf $CURRENTDIR/$ARCHIVE"pdf.tar" + fi + + cd $CURRENTDIR +} + +install_from_gzip() +{ + if [ -f $CURRENTDIR/$ARCHIVE"gen.tgz" ] + then + echo Unarchiving $CURRENTDIR/$ARCHIVE"gen.tgz" + gzip -c -d $CURRENTDIR/$ARCHIVE"gen.tgz" | tar xf - + echo Unarchiving $CURRENTDIR/$ARCHIVE"mot.tgz" + gzip -c -d $CURRENTDIR/$ARCHIVE"mot.tgz" | tar xf - + + # Optional: PDF documentation + if [ -f $CURRENTDIR/$ARCHIVE"pdf.tgz" ] + then + echo Unarchiving $CURRENTDIR/$ARCHIVE"ps.tgz" + gzip -c -d $CURRENTDIR/$ARCHIVE"pdf.tgz" | tar xf - + fi + + # Optional: HTML documentation + if [ -f $CURRENTDIR/$ARCHIVE"htm.tgz" ] + then + echo Unarchiving $CURRENTDIR/$ARCHIVE"htm.tgz" + gzip -c -d $CURRENTDIR/$ARCHIVE"htm.tgz" | tar xf - + fi + + else + echo $CURRENTDIR/$ARCHIVE"gen.tgz" not found. Please place in the current directory. + fi + cd $CURRENTDIR +} + +install_from_zip() +{ + if [ -f $CURRENTDIR/$ARCHIVE"gen.zip" ] + then + if [ ! -d $WXDIR ] + then + echo Making directory $WXDIR + mkdir $WXDIR + fi + if [ ! -d $WXDIR ] + then + echo $WXDIR" cannot be created!" + else + echo Untarring $CURRENTDIR/$ARCHIVE"*.zip." + echo Please be patient... + cd $WXDIR + unzip -a -o $CURRENTDIR/$ARCHIVE"gen.zip" + unzip -a -o $CURRENTDIR/$ARCHIVE"mot.zip" + echo If you saw no errors, unzipping was successful. + fi + else + echo $CURRENTDIR/$ARCHIVE"gen.zip" not found. + fi + + # Unarchive HTML documentation if found + if [ -f $CURRENTDIR/$ARCHIVE"htm.zip" ] + then + echo Unzipping HTML documentation $CURRENTDIR/$ARCHIVE"htm.zip." + echo Please be patient... + cd $WXDIR + unzip -a -o $CURRENTDIR/$ARCHIVE"htm.zip" + fi + + # Unarchive PDF documentation if found + if [ -f $CURRENTDIR/$ARCHIVE"pdf.zip" ] + then + echo Unzipping PDF documentation $CURRENTDIR/$ARCHIVE"pdf.zip." + echo Please be patient... + cd $WXDIR + unzip -a -o $CURRENTDIR/$ARCHIVE"pdf.zip" + fi + + cd $CURRENTDIR +} + +edit_make_env() +{ + cd $CURRENTDIR + + if [ -f $WXDIR/src/make.env ] + then + echo "" + echo "If the files are unarchived ok, you should edit the file" + echo $WXDIR"/src/make.env" + echo "since this sets many options for your wxWindows" + echo "compilation environment." + echo "" + echo "Would you like to edit the file now? (y/n)" + echo + read ans + if [ "$ans" = "y" ] + then + $MYEDITOR $WXDIR/src/make.env + echo "" + echo Ok, if you get compilation or link errors in the installation, + echo $WXDIR"/src/make.env is the first place to look." + echo "" + echo "Press return to continue." + read ans + fi + else + echo "" + echo "Uh-oh, cannot find "$WXDIR"/src/make.env; probably you have not unarchived" + echo "properly yet." + echo "" + echo "Press return to continue." + read ans + fi +} + +install_from_archive() +{ + echo + echo "Install from Archive" + echo "--------------------" + + echo "1) Install from "$ARCHIVE"gen.zip, "$ARCHIVE"mot.zip" + echo " and "$ARCHIVE"htm.zip if present." + echo "2) Install from "$ARCHIVE"gen.tgz, "$ARCHIVE"mot.tgz" + echo " and "$ARCHIVE"htm.tgz if present." + echo "0) Quit." + echo + read archans + + if [ "$archans" = "1" ] + then + install_from_zip + fi + if [ "$archans" = "2" ] + then + install_from_gzip + fi +} + +make_main_library() +{ + if [ ! -d $WXDIR/src ] + then + echo "Source directory not found: please unarchive first." + echo Press return to continue. + read ans + else + echo + echo Making the wxWindows main library. It will go in + echo $WXDIR/lib. + echo + echo Please press RETURN to continue, and then make yourself a coffee. + echo + read ans + if [ ! -d $WXDIR/lib ] + then + mkdir $WXDIR/lib + fi + + cd $WXDIR/src/motif + make -f makefile.unx $GUITARGET 2>&1 | tee -a $CURRENTDIR/make.log + cd $CURRENTDIR + + if [ -f $WXDIR/lib/libwx$GUISUFFIX".a" ] + then + echo + echo "If you saw no errors, wxWindows was compiled. See the file make.log" + echo "for errors and warnings." + else + echo + echo $WXDIR/lib/libwx$GUISUFFIX".a was not built." + echo "Please check make.env, and read install.txt and faq.txt/ps." + echo + echo "Press return to continue." + echo + read ans + fi + fi +} + +############################################################### +# Make peripheral components # +############################################################### + +make_wxtree() +{ + if [ ! -d $WXDIR/utils/wxtree ] + then + echo wxTree directory does not exist. + echo Press return to continue. + read ans + else + echo + echo Making the wxTree library. It will go in + echo $WXDIR/utils/wxtree/lib. + echo + cd $WXDIR/utils/wxtree/src + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the wxTree library was compiled. See the file make.log" + echo "for errors and warnings." + fi +} + +make_wxgraph() +{ + if [ ! -d $WXDIR/utils/wxgraph ] + then + echo wxGraph directory does not exist. + echo Press return to continue. + read ans + else + echo + echo Making the wxGraph library. It will go in + echo $WXDIR/utils/wxgraph/lib. + echo + cd $WXDIR/utils/wxgraph/src + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the wxGraph library was compiled. See the file make.log" + echo "for errors and warnings." + fi +} + +make_colour() +{ + if [ ! -d $WXDIR/utils/colours ] + then + echo $WXDIR/utils/colours directory does not exist. + echo Press return to continue. + read ans + else + echo + echo Making the Colour sampler. It will go in + echo $WXDIR/utils/colours + echo + cd $WXDIR/utils/colours + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the Colour sampler was compiled. See the file make.log" + echo "for errors and warnings." + echo "" + if [ -f $WXDIR/utils/colours/colours$GUISUFFIX ] + then + echo "Run the Colour sampler? (y/n)" + echo "" + read ans1 + if [ "$ans1" = "y" ] + then + $WXDIR/utils/colours/colours$GUISUFFIX + fi + fi + fi +} + +make_wxhelp() +{ + if [ ! -d $WXDIR/utils/wxhelp ] + then + echo wxHelp directory does not exist. + echo Press return to continue. + read ans + else + echo + echo Making the wxHelp program. It will go in + echo $WXDIR/utils/wxhelp/src. + echo + cd $WXDIR/utils/wxhelp/src + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the wxHelp program was compiled. See the file make.log" + echo "for errors and warnings." + fi +} + +make_tex2rtf() +{ + if [ ! -d $WXDIR/utils/tex2rtf ] + then + echo Tex2RTF directory does not exist. + echo Press return to continue. + read ans + else + echo + echo Making the Tex2RTF utility. It will go in + echo $WXDIR/utils/tex2rtf/src. + echo + cd $WXDIR/utils/tex2rtf/src + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the Tex2RTF program was compiled. See the file make.log" + echo "for errors and warnings." + fi +} + +############################################################### +# Make samples # +############################################################### + +make_controls() +{ + echo + echo Making the Controls sample. It will be made as + echo $WXDIR/samples/controls/controls$GUISUFFIX + echo + cd $WXDIR/samples/constrols + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the Controls sample was compiled. See the file make.log" + echo "for errors and warnings." +} + +make_minimal() +{ + echo + echo Making the Minimal sample. It will be made as + echo $WXDIR/samples/minimal/minimal$GUISUFFIX + echo + cd $WXDIR/samples/minimal + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the Minimal sample was compiled. See the file make.log" + echo "for errors and warnings." +} + +make_mdi() +{ + echo + echo Making the Mdi sample. It will be made as + echo $WXDIR/samples/mdi/mdi$GUISUFFIX + echo + cd $WXDIR/samples/mdi + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the MDI sample was compiled. See the file make.log" + echo "for errors and warnings." +} + +make_animate() +{ + echo + echo Making the Animate sample. It will be made as + echo $WXDIR/samples/animate/anim$GUISUFFIX + echo + cd $WXDIR/samples/animate + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the Animate sample was compiled. See the file make.log" + echo "for errors and warnings." +} + +make_fractal() +{ + echo + echo Making the Fractal sample. It will be made as + echo $WXDIR/samples/fractal/fractal$GUISUFFIX + echo + cd $WXDIR/samples/fractal + make -f makefile.unx $GUITARGET 2>&1 | tee $CURRENTDIR/make.log + cd $CURRENTDIR + echo + echo "If you saw no errors, the Fractal sample was compiled. See the file make.log" + echo "for errors and warnings." +} + +make_all_periph_components() +{ + make_wxtree +# make_dialoged +# make_wxgraph +# make_wxhelp +# make_tex2rtf +} + +about_periph_components() +{ + clear + echo "About the Peripheral Components" + echo "-------------------------------" + echo + echo "These are libraries and programs that are considered useful" + echo "enough to put in the main wxWindows distribution." + echo + echo wxTree A tree-drawing library, with sample + echo ------ + echo +# echo wxGraph A node and arc graph-drawing library, with sample +# echo ------- +# echo +# echo "Press return to continue" +# read ans +# clear +# echo wxHelp The wxWindows on-line help program +# echo ------ +# echo +# echo +# echo "Tex2RTF LaTeX->RTF, HTML converter" +# echo ------- +# echo + echo "Press return to continue" + read ans + clear +} + +make_peripheral_components() +{ + compoption='none' + while [ "$compoption" != "0" ] + do + echo + echo "Peripheral Component Options" + echo "----------------------------" + echo " 1) Make wxTree layout library" + echo "10) Make all the above" + echo "----------------------------" + echo " ?) About these components" + echo "----------------------------" + echo " 0) Quit." + echo + read compoption + + if [ "$compoption" = "1" ] + then + make_wxtree + fi + if [ "$compoption" = "10" ] + then + make_all_periph_components + fi + if [ "$compoption" = "?" ] + then + about_periph_components + fi + done +} + +make_all_samples() +{ + echo + echo "Note: compiling all samples is going to use up bags of disk space." + echo "Continue? (y/n)" + echo + read ans + + if [ "$ans" = "y" ] + then + cd $WXDIR/samples + make -f makefile.unx all$GUISUFFIX + fi +} + +make_samples() +{ + compoption='none' + while [ "$compoption" != "0" ] + do + echo + echo "Sample compilation options" + echo "------------------------" + echo "1) Make Minimal sample" + echo "2) Make MDI sample + echo "3) Make all samples" + echo "4) Run a sample" + echo "------------------------" + echo "0) Quit." + echo + read compoption + + if [ "$compoption" = "1" ] + then + make_minimal + fi + if [ "$compoption" = "2" ] + then + make_mdi + fi + if [ "$compoption" = "3" ] + then + make_all_samples + fi + if [ "$compoption" = "4" ] + then + run_samples + fi + done +} + +# Find a platform filename, using 'arg' as input and output +platform_filename() +{ + case "$arg" in + 1) arg=$PLATFORMFILE1;; + 2) arg=$PLATFORMFILE2;; + 3) arg=$PLATFORMFILE3;; + 4) arg=$PLATFORMFILE4;; + 5) arg=$PLATFORMFILE5;; + 6) arg=$PLATFORMFILE6;; + 7) arg=$PLATFORMFILE7;; + 8) arg=$PLATFORMFILE8;; + 9) arg=$PLATFORMFILE9;; + 10) arg=$PLATFORMFILE10;; + 11) arg=$PLATFORMFILE11;; + 12) arg=$PLATFORMFILE12;; + 13) arg=$PLATFORMFILE13;; + 14) arg=$PLATFORMFILE14;; + 15) arg=$PLATFORMFILE15;; + 16) arg=$PLATFORMFILE16;; + 17) arg=$PLATFORMFILE17;; + 18) arg=$PLATFORMFILE18;; + 19) arg=$PLATFORMFILE19;; + 20) arg=$PLATFORMFILE20;; + *) arg='' + esac +} + +platform_description() +{ + case "$arg" in + 1) arg=$PLATFORM1;; + 2) arg=$PLATFORM2;; + 3) arg=$PLATFORM3;; + 4) arg=$PLATFORM4;; + 5) arg=$PLATFORM5;; + 6) arg=$PLATFORM6;; + 7) arg=$PLATFORM7;; + 8) arg=$PLATFORM8;; + 9) arg=$PLATFORM9;; + 10) arg=$PLATFORM10;; + 11) arg=$PLATFORM11;; + 12) arg=$PLATFORM12;; + 13) arg=$PLATFORM13;; + 14) arg=$PLATFORM14;; + 15) arg=$PLATFORM15;; + 16) arg=$PLATFORM16;; + 17) arg=$PLATFORM17;; + 18) arg=$PLATFORM18;; + 19) arg=$PLATFORM19;; + 20) arg=$PLATFORM20;; + *) arg='' + esac +} + +############################################################### +# Select a platform +############################################################### + +select_platform() +{ + echo + echo "Select a platform" + echo "----------------------------" + echo "Note: this copies a file from $WXDIR/src/makeenvs" + echo "to $WXDIR/src/make.env. If you have" + echo "restarted the installation, the current option listed" + echo "may not reflect the current make.env." + echo + echo "You may wish to edit a .env file in $WXDIR/src/makeenvs" + echo "instead of src/make.env, which might be overwritten in future" + echo "installations." + echo + echo "In any event, a backup of make.env is made (make.bak) before it is" + echo "overwritten." + echo + echo "Please press return to continue." + read dummy + + compoption='none' + selectdone=0 + while [ "$selectdone" = "0" ] + do + echo + echo "Select a platform" + echo "----------------------------" + echo + + i=1 + while [ $i -le $PLATFORMCOUNT ] + do + arg=$i + platform_description + plat=$arg + markit=" " + if [ "$PLATFORM" = "$i" ] + then + markit="*" + fi + echo " "$markit" "$i") "$plat + i=`expr $i + 1` + done + echo + echo " e) Edit the current src/make.env" + echo + echo "Enter a choice, return for default: " + read compoption + + if [ "$compoption" = "e" ] + then + $MYEDITOR $WXDIR/src/make.env + else + if [ "$compoption" != "" ] + then + arg=$compoption + platform_description + plat=$arg + + arg=$compoption + platform_filename + platfile=$arg + + if [ "$platfile" != "" ] + then + if [ ! -f $WXDIR"/src/makeenvs/"$platfile ] + then + echo "Sorry, this platform is not catered for yet." + echo "Try using the generic settings instead." + echo "" + echo "Press return to continue." + read dummy + else + selectdone=1 + PLATFORM=$compoption + cp -f $WXDIR/src/make.env $WXDIR/src/make.bak + cp -f $WXDIR/src/makeenvs/$platfile $WXDIR/src/make.env + fi + fi + else + selectdone=1 + fi + fi + done +} + +############################################################### +# Run samples # +############################################################### + +run_controls() +{ + if [ ! -f $WXDIR"/samples/controls/controls"$GUISUFFIX ] + then + echo The Controls sample has not been compiled yet. + else + echo + echo "Running "$WXDIR"/samples/controls/controls"$GUISUFFIX + echo + cd $WXDIR"/samples/controls" + "controls"$GUISUFFIX + cd $CURRENTDIR + fi +} + +run_minimal() +{ + if [ ! -f $WXDIR"/samples/minimal/minimal"$GUISUFFIX ] + then + echo The Minimal sample has not been compiled yet. + else + echo + echo "Running "$WXDIR"/samples/minimal/minimal"$GUISUFFIX + echo + cd $WXDIR"/samples/minimal" + "minimal"$GUISUFFIX + cd $CURRENTDIR + fi +} + +run_form() +{ + if [ ! -f $WXDIR"/samples/form/form"$GUISUFFIX ] + then + echo The Form sample has not been compiled yet. + else + echo + echo "Running "$WXDIR"/samples/form/form"$GUISUFFIX + echo + cd $WXDIR"/samples/form" + "form"$GUISUFFIX + cd $CURRENTDIR + fi +} + +run_animate() +{ + if [ ! -f $WXDIR"/samples/animate/anim"$GUISUFFIX ] + then + echo The Animate sample has not been compiled yet. + else + echo + echo "Running "$WXDIR"/samples/animate/anim"$GUISUFFIX + echo + cd $WXDIR"/samples/animate" + "anim"$GUISUFFIX + cd $CURRENTDIR + fi +} + +run_fractal() +{ + if [ ! -f $WXDIR"/samples/fractal/fractal"$GUISUFFIX ] + then + echo The Fractal sample has not been compiled yet. + else + echo + echo "Running "$WXDIR"/samples/fractal/fractal"$GUISUFFIX + echo + cd $WXDIR"/samples/fractal" + "fractal"$GUISUFFIX + cd $CURRENTDIR + fi +} + +run_ipc() +{ + if [ ! -f $WXDIR"/samples/ipc/client"$GUISUFFIX ] + then + echo The IPC samples have not been compiled yet. + else + echo + echo "Running "$WXDIR"/samples/ipc/client"$GUISUFFIX, + echo " "$WXDIR"/samples/ipc/server"$GUISUFFIX + echo + cd $WXDIR"/samples/ipc" + echo "Starting server..." + "server"$GUISUFFIX & + echo "Waiting 10 seconds..." + sleep 10 + echo "Starting client..." + "client"$GUISUFFIX + cd $CURRENTDIR + fi +} + +run_samples() +{ + runoption='none' + while [ "$runoption" != "0" ] + do + echo + echo "Run a wxWindows sample" + echo "--------------------" + echo "Note: this is a small selection. For more, please" + echo "browse the samples subdirectory." + echo + echo "1) Run Minimal sample" + echo "2) Run MDI sample" + echo "--------------------" + echo "0) Quit." + echo + read runoption + + if [ "$runoption" = "1" ] + then + run_minimal + fi + if [ "$runoption" = "2" ] + then + run_mdi + fi + done +} + +make_all() +{ + make_main_library + make_all_periph_components + make_all_samples +} + +remove_component() +{ + if [ -d $COMPONENT ] + then + echo "Remove "$COMPONENT": are you sure? (y/n) " + echo + read ans + if [ "$ans" = "y" ] + then + rm -f -r $COMPONENT + fi + fi +} + +remove_components() +{ + compoption='none' + while [ "$compoption" != "0" ] + do + if [ -f $WXDIR/docs/pdf/wx.pdf ] + then + PDFMANUALSOK="*" + else + PDFMANUALSOK=" " + fi + + if [ -f $WXDIR/docs/html/wx/wx.htm ] + then + HTMLMANUALSOK="*" + else + HTMLMANUALSOK=" " + fi + + if [ -d $WXDIR/utils/wxtree ] + then + WXTREEOK="*" + else + WXTREEOK=" " + fi + +# if [ -d $WXDIR/utils/wxgraph ] +# then +# WXGRAPHOK="*" +# else +# WXGRAPHOK=" " +# fi +# +# if [ -d $WXDIR/utils/wxhelp ] +# then +# WXHELPOK="*" +# else +# WXHELPOK=" " +# fi +# +# if [ -d $WXDIR/utils/tex2rtf ] +# then +# TEX2RTFOK="*" +# else +# TEX2RTFOK=" " +# fi + + if [ -d $WXDIR/utils/dialoged ] + then + DIALOGEDOK="*" + else + DIALOGEDOK=" " + fi + + echo + echo "Remove a wxWindows component (* means it's installed)" + echo "-----------------------------------------------------" + echo "wxWindows currently takes up this many KB:" + du -s $WXDIR + echo "-----------------------------------------------------" + echo " 1) "$PDFMANUALSOK"Remove PDF manuals" + echo " 2) "$HTMLMANUALSOK"Remove HTML manuals" + echo " 3) "$WXTREEOK"Remove wxTree library" +# echo " 4) "$WXGRAPHOK"Remove wxGraph library" +# echo " 8) "$TEX2RTFOK"Remove Tex2RTF/HTML/WinHelp/wxHelp converter" + echo " 4) "$DIALOGEDOK"Remove Dialog Editor" + echo "------------------------------------------------------" + echo " 0) Quit." + echo + read compoption + + if [ "$compoption" = "1" ] + then + rm -f -r $WXDIR/pdf + fi + if [ "$compoption" = "2" ] + then + rm -f -r $WXDIR/html + fi + if [ "$compoption" = "3" ] + then + COMPONENT=$WXDIR/utils/wxtree + remove_component + fi + if [ "$compoption" = "4" ] + then + COMPONENT=$WXDIR/utils/dialoged + remove_component + fi + done +} + +clean_component() +{ + if [ -d $COMPONENT ] + then + cd $COMPONENT + make -f makefile.unx clean$GUISUFFIX + cd $CURRENTDIR + fi +} + +clean_samples() +{ + cd $WXDIR/samples + make -f makefile.unx clean$GUISUFFIX + cd $CURRENTDIR +} + +# -f $WXDIR/samples/pressup/pressup$GUISUFFIX -o \ +# -f $WXDIR/samples/bombs/bombs$GUISUFFIX -o \ +# -f $WXDIR/samples/fractal/fractal$GUISUFFIX -o \ +# -f $WXDIR/samples/animate/anim$GUISUFFIX -o \ +# -f $WXDIR/samples/ipc/server$GUISUFFIX -o \ + +clean_components() +{ + compoption='none' + olddu="" + while [ "$compoption" != "0" ] + do + if [ -f $WXDIR/samples/controls/controls$GUISUFFIX -o \ + -f $WXDIR/samples/forty/forty$GUISUFFIX -o \ + -f $WXDIR/samples/splitter/splitter$GUISUFFIX -o \ + -f $WXDIR/samples/docview/docview$GUISUFFIX -o \ + -f $WXDIR/samples/wxpoem/wxpoem$GUISUFFIX -o \ + -f $WXDIR/samples/printing/printing$GUISUFFIX -o \ + -f $WXDIR/samples/resource/resource$GUISUFFIX -o \ + -f $WXDIR/samples/layout/layout$GUISUFFIX -o \ + -f $WXDIR/samples/toolbar/test$GUISUFFIX -o \ + -f $WXDIR/samples/dialogs/dialogs$GUISUFFIX -o \ + -f $WXDIR/samples/types/types$GUISUFFIX -o \ + -f $WXDIR/samples/mdi/mdi$GUISUFFIX -o \ + -f $WXDIR/samples/minimal/minimal$GUISUFFIX ] + then + SAMPLESOK="*" + else + SAMPLESOK=" " + fi + + if [ -f $WXDIR/lib/libwx$GUISUFFIX".a" ] + then + WXOK="*" + else + WXOK=" " + fi + + if [ -f $WXDIR/utils/tex2rtf/src/objects$GUISUFFIX/tex2rtf.o ] + then + TEX2RTFOK="*" + else + TEX2RTFOK=" " + fi + + if [ -f $WXDIR/utils/dialoged/src/dialoged$GUISUFFIX ] + then + DIALOGEDOK="*" + else + DIALOGEDOK=" " + fi + + echo + echo "Cleanup a wxWindows component (* means objects/binaries exist, - means unknown)" + echo "-----------------------------------------------------" + echo "wxWindows currently takes up this many KB:" + newdu=`du -s $WXDIR` + if [ "$olddu" = "" ] + then + theline=$newdu + else + theline=$newdu" (previous usage was "$olddu")" + fi + echo $theline + olddu=$newdu + echo "-----------------------------------------------------" + echo " 1) "$WXOK"Clean wxWindows library" + echo " 2) "$SAMPLESOK"Clean all wxWindows samples" + echo " 3) -Clean all utilities" + echo " 4) "$TEX2RTFOK"Clean Tex2RTF/HTML/WinHelp/wxHelp converter" + echo " 5) "$DIALOGEDOK"Clean Dialoged Editor tool" + echo "------------------------------------------------------" + echo " 0) Quit." + echo + read compoption + + if [ "$compoption" = "1" ] + then + COMPONENT=$WXDIR/src/x + clean_component + fi + if [ "$compoption" = "2" ] + then + cd $WXDIR/samples + make -f makefile.unx clean$GUISUFFIX + cd $CURRENTDIR + fi + if [ "$compoption" = "3" ] + then + cd $WXDIR/utils + make -f makefile.unx clean$GUISUFFIX + cd $CURRENTDIR + fi + if [ "$compoption" = "4" ] + then + COMPONENT=$WXDIR/utils/tex2rtf/src + clean_component + fi + if [ "$compoption" = "5" ] + then + COMPONENT=$WXDIR/utils/dialoged/src + clean_component + fi + done +} + +# Select a target +select_target() +{ + compoption='none' + selectdone=0 + while [ "$selectdone" = "0" ] + do + echo + echo "Select a target" + echo "---------------" + echo " 1) Motif" + echo + read compoption + + if [ "$compoption" = "1" ] + then + selectdone=1 + GUITARGET=motif + GUISUFFIX=_motif + fi + done +} + +# Select a target +select_dir() +{ + echo "" + echo "Select wxWindows directory" + echo "--------------------------" + echo "" + echo "Current directory: " $WXDIR + echo "" + echo "New directory: (return for existing value):" + read inp + if [ "$inp" != "" ] + then + WXDIR=$inp + fi +} + +### View manual ### + +view_manual() +{ + if [ ! -d $WXDIR ] + then + echo "Sorry -- you must unarchive the distribution before you can" + echo "look at the manual." + else + manoption='none' + while [ "$manoption" != "0" ] + do + echo + echo "View wxWindows documentation" + echo "----------------------------" + echo "1) The installation instructions, using "$MYPAGER + echo "2) readme.txt, using "$MYPAGER + echo "3) The change log, using "$MYPAGER + echo "4) The HTML manual hierarchy, using $HTMLVIEWER" + echo "--------------------" + echo "0) Quit." + echo + read manoption + + if [ "$manoption" = "1" ] + then + if [ -f $WXDIR"/docs/motif/install.txt" ] + then + $MYPAGER $WXDIR/docs/motif/install.txt + else + if [ -f "install.txt" ] + then + $MYPAGER "install.txt" + else + if [ -f $WXDIR/"install.txt" ] + then + $MYPAGER $WXDIR/"install.txt" + else + echo + echo "Sorry, cannot find install.txt. Perhaps you did not ftp" + echo "it along with the archives, and/or you haven't unarchived" + echo "the sources yet. Please press return to continue." + echo + read ans + fi + fi + fi + fi + if [ "$manoption" = "2" ] + then + if [ -f $WXDIR"/docs/motif/readme.txt" ] + then + $MYPAGER $WXDIR/docs/motif/readme.txt + else + if [ -f "readme.txt" ] + then + $MYPAGER "readme.txt" + else + if [ -f $WXDIR/"readme.txt" ] + then + $MYPAGER $WXDIR/"readme.txt" + else + echo + echo "Sorry, cannot find readme.txt. Perhaps you did not ftp" + echo "it along with the archives, and/or you haven't unarchived" + echo "the sources yet. Please press return to continue." + echo + read ans + fi + fi + fi + fi + if [ "$manoption" = "3" ] + then + if [ -f $WXDIR"/docs/motif/changes.txt" ] + then + $MYPAGER $WXDIR/docs/motif/changes.txt + else + if [ -f "changes.txt" ] + then + $MYPAGER "changes.txt" + else + if [ -f $WXDIR/"changes.txt" ] + then + $MYPAGER $WXDIR/"changes.txt" + else + echo + echo "Sorry, cannot find changes.txt. Perhaps you did not ftp" + echo "it along with the archives, and/or you haven't unarchived" + echo "the sources yet. Please press return to continue." + echo + read ans + fi + fi + fi + fi + if [ "$manoption" = "4" ] + then + $HTMLVIEWER $WXDIR"/docs/html/index.htm" + fi + done + fi +} + +preliminary_notes() +{ + selectdone1=0 + ans="n" + while [ "$ans" != "y" ] + do +# clear + echo + echo The GUI target is GUITARGET=$GUITARGET "." + echo + echo The directory to install to is WXDIR=$WXDIR + echo + arg=$PLATFORM + platform_description + echo The selected platform is $arg + echo + echo "Please check these settings carefully." + echo "Are they correct for your system? (y/n)" + echo + + read ans + + if [ "$ans" != "y" ] + then + select_target + select_dir + select_platform + fi + done + + clear + echo "" + echo "Configuring wxWindows" + echo "---------------------" + echo "" + echo "Most makefile settings to do with compilers, platforms and" + echo "directories are kept in "$WXDIR"/src/make.env." + echo "" + echo "If you get a compiler error or warning, please strongly" + echo "suspect this file, and if necessary edit it from the first" + echo "option on the Main Menu." + echo "" + echo "Some suggestions for settings are contained in make.env," + echo "and further information is in "$WXDIR"/install/install.txt." + echo + echo wxWindows itself can be tailored to remove certain features + echo "(such as PostScript support), or select library preferences, by" + echo "editing the file "$WXDIR"/include/wx/motif/setup.h." + echo + echo The setup.h defaults are probably ok for now though. + echo + echo "Please press return to continue." + read ans + echo + clear + echo "" + echo "Configuring wxWindows (cont'd)" + echo "--------------------- --------" + echo "" + echo "By default (at least for GNU compiler use), debugging information" + echo "is included. This will make the libraries and binaries" + echo "a lot bigger than if you left debugging information out." + echo + echo "So you might want to set DEBUG to nothing in make.env" + echo "to disable debugging information, at least for a first look at wxWindows." + echo + echo "Please press return to continue." + read ans + echo + clear + echo + echo "You may wish to choose 'View documentation' now..." +} + + ############# MAIN BIT OF THE SCRIPT ################# + clear + echo + echo "-------------------------------------------" + echo "Welcome to the wxWindows 2.0 installation." + echo "-------------------------------------------" + echo + echo "This script will install from the archives:" + echo "" + echo " "$ARCHIVE"gen.zip, "$ARCHIVE"mot.zip" + echo "" + echo "and, if present, HTML and PDF archives." + echo "" + echo "This installation is best done from a new directory where" + echo "wxWindows will be installed, and which contains the .zip files." + echo "For example, ~/wx." + + select_dir + + if [ ! -f $WXDIR/src/make.env ] + then + install_from_archive + fi + + preliminary_notes + + useroption='none' + while [ "$useroption" != "0" ] + do + echo + echo "wxWindows Installation Main Menu" + echo "--------------------------------" + echo + echo " 1) Install from archive." + echo " 2) Make main wxWindows library." + echo " 3) Make a peripheral component." + echo " 4) Make a sample." + echo " 5) Make absolutely everything." + echo " 6) Run a sample." + echo " 7) View documentation." + echo " 8) Clean objects/binaries, saving space." + echo " 9) Remove wxWindows components from disk." + echo "10) Edit make.env." + echo "11) Change the selected target platform" + echo "-----------------------------------" + echo " 0) Exit from installation." + echo + read useroption + + if [ "$useroption" = "1" ] + then + install_from_archive + fi + if [ "$useroption" = "2" ] + then + make_main_library + fi + if [ "$useroption" = "3" ] + then + make_peripheral_components + fi + if [ "$useroption" = "4" ] + then + make_samples + fi + if [ "$useroption" = "5" ] + then + make_all + fi + if [ "$useroption" = "6" ] + then + run_samples + fi + if [ "$useroption" = "7" ] + then + view_manual + fi + if [ "$useroption" = "8" ] + then + clean_components + fi + if [ "$useroption" = "9" ] + then + remove_components + fi + if [ "$useroption" = "10" ] + then + edit_make_env + fi + if [ "$useroption" = "11" ] + then + select_platform + fi + done + clear + echo "" + echo "Goodbye! I hope your wxWindows installation was successful." + echo "" + echo "You can subscribe to the mailing list wxwin-users" + echo "for further assistance from experienced users." + echo "" + echo "Information is also available via the World Wide Web at:" + echo "" + echo "http://web.ukonline.co.uk/julian.smart/wxwin" + echo "" + echo "If all else fails, please contact me, Julian Smart, at:" + echo "" + echo "julian.smart@ukonline.co.uk" + echo "" + echo "If you have any suggestions, bug reports or patches," + echo "please email me at the above address." + echo "" + + -- 2.45.2