Removed Watcom compiler support because it was introduced in 1.1.6 as a partial solution and never completed.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8079 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Matthias Melcher 2010-12-20 19:28:23 +00:00
parent e37fdeb149
commit 387c60fab2
5 changed files with 2 additions and 670 deletions

View File

@ -1,5 +1,7 @@
CHANGES IN FLTK 1.3.0
- Removed Watcom compiler support because it was introduced in
1.1.6 as a partial solution and never completed.
- Fixed Fl_Tabs selection border drawing, if tabs are at the bottom
of the widget (STR #2480)
- Much faster fl_read_image() for Windows (STR #2387).

View File

@ -1,279 +0,0 @@
######################################################################
#
# Watcom C specific makefile, multiplatform
#
#
# The following macross must be set active when this file is called
# -D parameter, e.g. -DPROJ=fltk
# ROOT = root of project (e.g. FLTK directory)
# PROJ = project name (e.g. fltk)
#
# The following environment variable must be set. If you have multiple
# Watcom versions, use the setvars file in the Watcom directory to set it.
# WATCOM = root of Watcom C
######################################################################
#
# The following options must be set when calling this wmake file
# (case-sensitive):
# D (debug/release mode): d for debug mode,
# r for release mode
# O (target environment): d = DOS 32 bits
# o = OS/2 32 bits
# w = Windows 32 bit
# l = Linux Intel (experimental, no graphics yet (OW 1.3))
#
#
# If not set, debug mode and target=host (that is, no cross-compiling).
# Example: wmake -h -f makefile.wat d=r o=w
#
# Following macros can be used to add/override existing macros in
# this file.
# EXTRA_INCLUDE_DIRS # Non-Watcom (project) include dirs
# ODIR # Output directory if not default
# ROOT # Project root. If not given, .
# PROJ # Project name.
# LIBS # Extra libs to link in
# LIBDIR # Project library directory. Default: PROJ\LIB
# LIBNAMEROOT # Project rootname of output library. Default: PROJ\Lib\Proj
# EXTRA_LIBS # Target specific include libs
!ifndef D
MODE=d # default is debug mode
!else
! ifeq D d
MODE=d
! else ifeq D r
MODE=r
! else
CONFIG_ERROR_MSG=Unrecognized mode: $(D)
! endif
!endif
# If target is specified, check its validity; if not specified, the target is
# the host platform itself.
!ifdef O
! ifeq O d
TARGET=dos
! else ifeq O o
TARGET=os2
! else ifeq O w
TARGET=nt
! else ifeq O l
TARGET=linux
! else
CONFIG_ERROR_MSG=Unrecognized target: $(O)
! endif
!else
! ifdef __DOS__
TARGET=dos
! else ifdef __OS2__
TARGET=os2
! else ifdef __NT__
TARGET=nt
! else ifdef __LINUX__
TARGET=linux
! endif
!endif
#
# Now we know the target. Determine the link target. For fltk, this
# is always GUI for Windows and OS/2. For possible link targets (aliases
# for a set of linker directives) see wlsystem.lnk in Watcom's BINW directory.
#
!ifeq TARGET dos
LINKTARGET=dos32a
!else ifeq TARGET os2
LINKTARGET=os2v2_pm
!else ifeq TARGET nt
LINKTARGET=nt_win
!else
LINKTARGET=linux
!endif
#
# Very important: specify the sequence of extensions. Wmake will try to make a target
# with an extension from the first file of the same name with an extension to the right.
# E.g. it tries to make hello.obj from hello.cxx, or hello.cpp etc, but never from hello.exe
#
.EXTENSIONS :
.EXTENSIONS : .exe .lib .obj .cxx .cpp .c .h .fl
#
# Create output directory name if not already supplied. To allow
# cross-development, must include target name.
#
!ifndef ODIR
ODIR=$(D)_$(TARGET)
!endif
#
# Contruct the libname from the root plus D and O macros, so that
# multiple LIBS can co-exists, e.g. FLTK_DW and FLTK_RW for Win32.
#
!ifndef LIBDIR
LIBDIR=$(ROOT)\lib\
!endif
!ifndef LIBNAMEROOT
LIBNAMEROOT=$(PROJ)
!endif
!ifndef LIBNAME
LIBNAME = $(LIBDIR)$(LIBNAMEROOT)_$(D)$(O).lib
# FLTK has other 'global' libs. Define the names here so that any application
# using FLTK can use them by just including this mif file.
LIBNAMEFL = $(LIBDIR)$(LIBNAMEROOT)_fl_$(D)$(O).lib
LIBNAMEGL = $(LIBDIR)$(LIBNAMEROOT)_gl_$(D)$(O).lib
LIBNAMEIMG = $(LIBDIR)$(LIBNAMEROOT)_img_$(D)$(O).lib
LIBS = $(LIBNAME) $(LIBNAMEFL) $(LIBNAMEGL) $(LIBNAMEIMG)
!endif
# Set target environment options for the project
!ifeqi TARGET nt # WINDOWS 32 bit
SYSDEF= -DWIN32
ASYSDEF=
SYSLIBS=mpr.lib glu32.lib opengl32.lib
EXEEXT=.exe
!else ifeqi TARGET linux # Linux Intel 32 bit generic
SYSDEF=
ASYSDEF=
EXEEXT=.exe # We need some exe extension else the build won't work
!else ifeqi TARGET os2 # OS/2 32 bit
SYSDEF=
ASYSDEF=
EXEEXT=.exe
!else ifeqi TARGET dos # DOS 32 bit
SYSDEF=
ASYSDEF=
EXEEXT=.exe
!endif
######################################################################
#
# End of compiler- and environment specific options
#
# Note !message will print before any actions ('PRE'processor!), and thus
# will not reflect results of any rules (like set xxx=yyy).
# echo is a rule itself, and will reflect results of preceding rules.
#
######################################################################
.BEFORE :
!ifdef CONFIG_ERROR_MSG
! message
! message Configuration error:
! message $(CONFIG_ERROR_MSG)
! message
%abort
!endif
@if not exist $(ODIR) mkdir $(ODIR) >nul
!ifeqi TARGET dos
@set INCLUDE=$(%WATCOM)\H;$(EXTRA_INCLUDE_DIRS)
!else ifeqi TARGET os2
@set INCLUDE=$(%WATCOM)\H;$(%WATCOM)\H\OS2;$(EXTRA_INCLUDE_DIRS)
!else ifeqi TARGET nt
@set INCLUDE=$(%WATCOM)\H;$(%WATCOM)\H\NT;$(EXTRA_INCLUDE_DIRS)
!else ifeqi TARGET linux
@set INCLUDE=$(%WATCOM)\LH;$(EXTRA_INCLUDE_DIRS)
!endif
# @set LIB=$(LIBPATH)
# @echo Top dir: $(PROJ)
@echo Include dirs: $(%INCLUDE)
# @echo Lib dirs: $(LIBDIRS)
# @echo Libname=$(LIBNAME)
# @echo extra libs: $(LIBS)
# @echo Wmake version $(__VERSION__)
# @echo Wmake parameters: $(__MAKEOPTS__)
# @echo Compiler : $(CC) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3)
# @echo Librarian: $(LIB)
# @echo Linker : $(LN) $(LNOPTS)
# @echo Project : $(P)
!ifeqi D d
WCADEBUG=-d1 # debug opts for wasm
WCCDEBUG=-d2 -s -ors -wcd=666 -wcd=836 # debug opts for wcc. NOTE: -we is to make errors of all warnings
WCLDEBUG=d all # debug opts for wlink
# WCCTIMING=-et # if added to CC command line will generate timing file after execution
!else
#
# WCADEBUG= # debug opts for wasm
WCCDEBUG= -ors -s -wcd=666 -wcd=836 # release opts for wcc
# WCLDEBUG= # release opts for wlink
!endif
# Conventions Watcom
# Tell default paths based on extension
.fl : .
.h : .
#.lib : .
.c : .
.cpp : .
.cxx : .
.obj : $(ODIR)
.exe : $(ODIR)
#
# Tell wmake to use DLL versions of some commands (much quicker)
#
!loaddll wcc386 wccd386
!loaddll wpp386 wppd386
!loaddll wlink wlink
!loaddll wlib wlibd
CCOPTS0=-6r -zq
CCOPTS1=$(WCCDEBUG) -bt=$(TARGET) -fp6 -fpi87 # 1st part of Watcom opts
CCOPTS2=-mf -wce=130 -wx -zq # -j # 2nd part of Watcom opts
CCOPTS3=-fo$(ODIR)\$^&.obj # 3rd part Watcom opts
COPTS=-zm
CPPOPTS=-zmf -zv -fx
LNOPTS=sys $(LINKTARGET) $(WCLDEBUG) op symf,q,m,el,vfr op st=32k # linker options
LIBOPTS= -b -q -p=512 -c # librarian options
LN=wlink # Watcom linker
AS=wasm # Watcom assembler
cc=wcc386 # Watcom C compiler
cpp=wpp386 # Watcom C++ compiler
LIB=wlib # Watcom librarian
#
# Compilation
#
.c.obj: .AUTODEPEND
$(CC) $(SYSDEF) $(DEBUGDEF) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3) $(COPTS) $[@
.cpp.obj: .AUTODEPEND
$(CPP) $(SYSDEF) $(DEBUGDEF) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3) $(CPPOPTS) $[@
.cxx.obj: .AUTODEPEND
$(CPP) $(SYSDEF) $(DEBUGDEF) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3) $(CPPOPTS) $[@
#
# Librarian stage
#
.obj.lib:
$(LIB) $(LIBOPTS) $@ $<
#
# Linking stage. This implicit rule assumes the .exe is created from an object file with the
# same name, plus other object in macro OBJECTS, a number of .libs in macro LIBS etc.
# If the linking fails for some reason, the .lk1 file is not deleted and it can be
# examined.
#
.obj.exe:
@%create $^*.lk1
@%append $^*.lk1 F $(ODIR)/$^&
@for %i in ($(%OBJS)) do @%append $^*.lk1 F $(ODIR)/%i
@for %i in ($(OBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i
@for %i in ($(LIBS)) do @%append $^*.lk1 L %i
@for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i
@for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i
$(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1
@del $^*.lk1

View File

@ -1,231 +0,0 @@
/*
* "$Id$"
*
* Configuration file for the Fast Light Tool Kit (FLTK) for Watcom C++ 1.3
*
* Copyright 1998-2010 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 on the following page:
*
* http://www.fltk.org/str.php
*/
/*
* 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 */
/*
* Do we have POSIX locale support?
*/
#define HAVE_LOCALE_H 1
#define HAVE_LOCALECONV 1
/*
* 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$".
*/

View File

@ -1,114 +0,0 @@
#
# 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
#
# Linux Debug and Release targets. Environment variable XLIB must point to a directory
# which has a subdirectory X11 with X include files. Builds only jpeg, zlib and png libs for now.
#
DL : .SYMBOLIC
@set OPTIONS=D=d O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
%make BuildOne
RL : .SYMBOLIC
@set OPTIONS=D=r O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
%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)

View File

@ -1,46 +0,0 @@
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. To build fltk itself:
- 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.
2. To create you own programs using fluid:
- set the environment variable fltk to the root directory of fltk
- make a directory where you want to create the source of your program.
- from fltk's watcom directory, copy file "makefile.example" to "makefile" in your
directory.
- Start fluid, and create your program.
- You can either put in fluid's menu shell->execute command:
"cmd /k "wmake && hello && exit || pause && exit"
to compile and run the program (if you are running under Windows only),
- Or in Fluid do shift-Ctrl-C to create C+= code, and then in a cmd prompt
in your directory enter 'wmake", and then run the program.
I have been able to do most of the Fluid Flash tutorial (no time to do all,
but no error at all for the ones I did do.
3. Known errors:
- Fluid aborts when exiting.
Probably a lot more :-( . I cannot test/debug under NT or later, so I must
rely on the help of others to find and fix :-) Watcom-related bugs.
Questions about the OpenWatcom port please to the fltk.general newsgroup.
Questions related to Openwatcom itself please to the c/c++ users group at
new.openwatcom.org.
Mat Nieuwenhoven, Hilversum, 2004-11-22