summaryrefslogtreecommitdiff
path: root/watcom
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2004-11-20 03:19:59 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2004-11-20 03:19:59 +0000
commit23bb0590651da3f342cddcd3c87aee38a1d067cc (patch)
treebee2ca6b14fcf94b4754a310164e0a864832dcd6 /watcom
parenta5a683f35f71f1e7ebe9a70660634cbf518b1dcd (diff)
Watcom fixes (STR #584, STR #594, STR #595)
Fixed library include order when building DSOs on MacOS X (STR #596) fl_xid() could cause a WIN32 application to crash (STR #560, STR #576, STR #618) Fl_Browser::remove_() removed the item from the list before computing the item height, which caused problems with some programs (STR #613) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3897 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'watcom')
-rw-r--r--watcom/config.h222
-rw-r--r--watcom/makefile103
-rw-r--r--watcom/readme.wat26
3 files changed, 351 insertions, 0 deletions
diff --git a/watcom/config.h b/watcom/config.h
new file mode 100644
index 000000000..2cb83c72b
--- /dev/null
+++ b/watcom/config.h
@@ -0,0 +1,222 @@
+/*
+ * "$Id: config.h,v 1.1.2.1 2004/11/20 03:19:59 easysw Exp $"
+ *
+ * Configuration file for the Fast Light Tool Kit (FLTK) for Watcom C++ 1.3
+ *
+ * Copyright 1998-2004 by Bill Spitzak and others.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA.
+ *
+ * Please report all bugs and problems to "fltk-bugs@fltk.org".
+ */
+
+/*
+ * Where to find the documentation files...
+ */
+
+#define FLTK_DATADIR "C:/FLTK"
+#define FLTK_DOCDIR "C:/FLTK/DOC"
+
+
+/*
+ * BORDER_WIDTH:
+ *
+ * Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
+ * supported. 3 is the historic FLTK look. 2 looks more like Microsoft
+ * Windows, KDE, and Qt, and is the default when building for Windows.
+ * 1 is a plausible future evolution... Note that this may be simulated
+ * at runtime by redefining the boxtypes using Fl::set_boxtype().
+ */
+
+#define BORDER_WIDTH 2
+
+/*
+ * HAVE_GL:
+ *
+ * Do you have OpenGL? Set this to 0 if you don't have or plan to use
+ * OpenGL, and FLTK will be smaller.
+ */
+
+#define HAVE_GL 1
+
+/*
+ * HAVE_GL_GLU_H:
+ *
+ * Do you have the OpenGL Utility Library header file?
+ * (many broken Mesa RPMs do not...)
+ */
+
+#define HAVE_GL_GLU_H 1
+
+/*
+ * USE_COLORMAP:
+ *
+ * Setting this to zero will save a good deal of code (especially for
+ * fl_draw_image), but FLTK will only work on TrueColor visuals.
+ */
+
+#define USE_COLORMAP 1
+
+/*
+ * USE_XFT
+ *
+ * Use the new Xft library to draw anti-aliased text.
+ */
+
+#define USE_XFT 0
+
+/*
+ * HAVE_XDBE:
+ *
+ * Do we have the X double-buffer extension?
+ */
+
+#define HAVE_XDBE 0
+
+/*
+ * USE_XDBE:
+ *
+ * Actually try to use the double-buffer extension? Set this to zero
+ * disable use of XDBE without breaking the list_visuals program.
+ */
+
+#define USE_XDBE HAVE_XDBE
+
+/*
+ * HAVE_OVERLAY:
+ *
+ * Use the X overlay extension? FLTK will try to use an overlay
+ * visual for Fl_Overlay_Window, the Gl_Window overlay, and for the
+ * menus. Setting this to zero will remove a substantial amount of
+ * code from FLTK. Overlays have only been tested on SGI servers!
+ */
+
+#define HAVE_OVERLAY 0
+
+/*
+ * HAVE_GL_OVERLAY:
+ *
+ * It is possible your GL has an overlay even if X does not. If so,
+ * set this to 1.
+ */
+
+#define HAVE_GL_OVERLAY 1
+
+/*
+ * WORDS_BIGENDIAN:
+ *
+ * Byte order of your machine: 1 = big-endian, 0 = little-endian.
+ */
+
+#define WORDS_BIGENDIAN 0
+
+/*
+ * U16, U32, U64:
+ *
+ * Types used by fl_draw_image. One of U32 or U64 must be defined.
+ * U16 is optional but FLTK will work better with it!
+ */
+
+#define U16 unsigned short
+#define U32 unsigned
+/* #undef U64 */
+
+/*
+ * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
+ *
+ * Where is <dirent.h> (used only by fl_file_chooser and scandir).
+ */
+
+#define HAVE_DIRENT_H 1
+/* #undef HAVE_SYS_NDIR_H */
+/* #undef HAVE_SYS_DIR_H */
+/* #undef HAVE_NDIR_H */
+/* #undef HAVE_SCANDIR */
+
+/*
+ * Possibly missing sprintf-style functions:
+ */
+
+#define HAVE_VSNPRINTF 1
+#define HAVE_SNPRINTF 1
+
+/*
+ * String functions and headers...
+ */
+
+/* #undef HAVE_STRINGS_H */
+#define HAVE_STRCASECMP 1
+/* #undef HAVE_STRLCAT */
+/* #undef HAVE_STRLCPY */
+
+/*
+ * HAVE_SYS_SELECT_H:
+ *
+ * Whether or not select() call has its own header file.
+ */
+
+/* #undef HAVE_SYS_SELECT_H */
+
+/*
+ * HAVE_SYS_STDTYPES_H:
+ *
+ * Whether or not we have the <sys/stdtypes.h> header file.
+ */
+
+/* #undef HAVE_SYS_STDTYPES_H */
+
+/*
+ * HAVE_POLL:
+ *
+ * Use poll() if we don't have select().
+ */
+
+#define HAVE_POLL 0
+
+/*
+ * Do we have various image libraries?
+ */
+
+/* #undef HAVE_LIBPNG */
+/* #undef HAVE_LIBZ */
+/* #undef HAVE_LIBJPEG */
+
+/*
+ * Which header file do we include for libpng?
+ */
+
+/* #undef HAVE_PNG_H */
+/* #undef HAVE_LIBPNG_PNG_H */
+
+/*
+ * Do we have the png_xyz() functions?
+ */
+
+/* #undef HAVE_PNG_GET_VALID */
+/* #undef HAVE_PNG_SET_TRNS_TO_ALPHA */
+/* #undef HAVE_PNG_READ_DESTROY */
+
+/*
+ * Do we have POSIX threading?
+ */
+
+/* #undef HAVE_PTHREAD */
+/* #undef HAVE_PTHREAD_H */
+
+
+/*
+ * End of "$Id: config.h,v 1.1.2.1 2004/11/20 03:19:59 easysw Exp $".
+ */
diff --git a/watcom/makefile b/watcom/makefile
new file mode 100644
index 000000000..69ed2c026
--- /dev/null
+++ b/watcom/makefile
@@ -0,0 +1,103 @@
+#
+# Name : Watcom makefile for FLTK, multiplatform
+#
+# Author : M. Nieuwenhoven
+#
+# The makefile has multiple targets:
+# - clean : Cleans all directories from files built during make
+# - all : Builds all targets for both debug and release
+# - xy : where x = D|R, Y = D|O|W|L, where only W (Win32) is
+# currently supported by the source for Watcom.
+#
+
+
+!ifndef %FLTK
+ERROR_MSG = Environment variable FLTK must have been set!
+!endif
+
+.BEFORE
+!ifdef ERROR_MSG
+ @echo .
+ @echo $(ERROR_MSG)
+ @echo .
+ @%abort
+!endif
+
+ROOT=$(%FLTK)
+PROJ=fltk
+
+#
+# This builds all library targets and the main programs
+#
+ALL : .SYMBOLIC
+ set Clean=
+ wmake -h dw
+ wmake -h rw
+# wmake -h do
+# wmake -h ro
+# wmake -h dl
+# wmake -h rl
+
+#
+# Clean all directories. Call each target with a 'clean' target. Proper
+# knowledge about cleaning can only be at the places where also the
+# builds is done.
+#
+clean : .SYMBOLIC
+ @echo Cleaning up.
+ set Clean=CLEAN
+ wmake -h dw
+ wmake -h rw
+# wmake -h do
+# wmake -h ro
+# wmake -h dl
+# wmake -h rl
+
+#
+# Win32 Debug and Release targets
+#
+DW : .SYMBOLIC
+ @set OPTIONS=D=d O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
+ %make BuildOne
+
+RW : .SYMBOLIC
+ @set OPTIONS=D=r O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
+ %make BuildOne
+
+#
+# OS/2 Debug and Release targets. Builds only jpeg, zlib and png libs for now.
+#
+DO : .SYMBOLIC
+ @set OPTIONS=D=d O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
+ %make BuildOne
+
+RO : .SYMBOLIC
+ @set OPTIONS=D=r O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
+ %make BuildOne
+
+
+# Internal target to build the individual modules. The following macros must
+# have been set: D (value D or R), O (D,O,W,L)
+
+BuildOne : .SYMBOLIC
+
+ @echo "=== making jpeg library ==="
+ @cd $(ROOT)\jpeg
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making zlib library ==="
+ @cd $(ROOT)\zlib
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making png library ==="
+ @cd $(ROOT)\png
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making fltk libraries ==="
+ @cd $(ROOT)\src
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making fluid ==="
+ @cd $(ROOT)\fluid
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+ @echo "=== making test ==="
+ @cd $(ROOT)\test
+ @wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
+
+
diff --git a/watcom/readme.wat b/watcom/readme.wat
new file mode 100644
index 000000000..59443594f
--- /dev/null
+++ b/watcom/readme.wat
@@ -0,0 +1,26 @@
+
+Using Watcom to build and use FLTK 1.1.5
+
+Supported targets: Win32 only, static builds (no DLLs). Can be used from any Watcom
+ supported host (DOS, OS/2, Windows).
+
+1. Unzip the include file in the root of the fltk 1.1.5 directory. It will create a
+ new directory called watcom, put a makefile.wat in source directories, and update
+ two sources files which need to be different from the 1.1.5 versions (STR updated),
+ and put a watcom.mif file in the fltk root directory.
+
+2. To build: set the environment variable fltk to the root directory of fltk, go
+ to the Watcom directory, run wmake. Both debug and release versions of all libs,
+ test programs and FLUID will be built.
+
+3. To create you own programs: use the supplied watcom.mif file. If you use fluid,
+ move the two fluid rules from test/makefile.wat into the watcom.mif
+ file. Look in test/makefile.wat also for rules about building a non-fluid program
+ with one object (source) file, or with multiple. if you use FLUID, take care in
+ the order of object files specified (see tes/makefile.wat keyboard.exe).
+
+Questions about the watcom port please to the fltk.general newsgroup.
+
+Mat Nieuwenhoven, Hilversum, 2004-10-28
+
+