Update for building jpeg as an os2 dll

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2000-03-09 21:12:50 +00:00
parent 1d4ad4df1d
commit 413098d06c
2 changed files with 48 additions and 3 deletions

View File

@@ -13,17 +13,26 @@
OBJSUFF=obj OBJSUFF=obj
SRCSUFF=cpp SRCSUFF=cpp
OS2FLAGS=/c /W2 /DOS232 /D__VISAGECPP__ /D__WXPM__ /DJPEGLOCAL /Ss /Q /N100 OS2FLAGS=/c /W2 /DOS232 /D__VISAGECPP__ /D__WXPM__ /DJPEGLOCAL /Ss /Q /N100 /Tdc
OS2LINKFLAGS=/BASE:0x00010000 /PMTYPE:PM /NOE /NOD /ALIGN:16 OS2LINKFLAGS=/BASE:0x00010000 /PMTYPE:PM /NOE /NOD /ALIGN:16
OS2LIBFLAGS=/NOL /NOE OS2LIBFLAGS=/NOL /NOE
OS2LIBS=CPPOM30.lib CPPOOC3.LIB OS2386.LIB OS2LIBS=CPPOM30.lib CPPOOC3.LIB OS2386.LIB
!if "$(WXMAKINGDLL)" != "0"
EXTRADLLFLAGS=/DWXMAKINGDLL=1 /Ge- /D__OS2DLL__
EXTRALNKFLAGS=/DLL
!endif
# Change WXDIR or WXWIN to wherever wxWindows is found # Change WXDIR or WXWIN to wherever wxWindows is found
WXDIR = $(WXWIN) WXDIR = $(WXWIN)
OS2JPEGDIR=$(WXDIR)\src\jpeg OS2JPEGDIR=$(WXDIR)\src\jpeg
OS2JPEGINC=$(WINJPEGDIR) OS2JPEGINC=$(WINJPEGDIR)
!if "$(WXMAKINGDLL)" != "1"
OS2JPEGLIB=$(WXDIR)\lib\os2jpeg.lib OS2JPEGLIB=$(WXDIR)\lib\os2jpeg.lib
!else
OS2JPEGLIB=$(WXDIR)\lib\os2jpeg.dll
!endif
TEMP1TGT=$(WXDIR)\lib\os2jpeg1.lib TEMP1TGT=$(WXDIR)\lib\os2jpeg1.lib
TEMP2TGT=$(WXDIR)\lib\os2jpeg2.lib TEMP2TGT=$(WXDIR)\lib\os2jpeg2.lib
@@ -44,7 +53,12 @@ MAKEPRECOMP=/Fi$(PCH)
!endif !endif
!if "$(FINAL)" == "0" !if "$(FINAL)" == "0"
!if "$(WXMAKINGDLL)" == "1"
D=DebugOS2DLL
!else
D=DebugOS2 D=DebugOS2
!endif
OPT = OPT =
DEBUG_FLAGS= /Ti /D__WXDEBUG__ #/Fb DEBUG_FLAGS= /Ti /D__WXDEBUG__ #/Fb
LINK_DEBUG_FLAGS=/DEBUG LINK_DEBUG_FLAGS=/DEBUG
@@ -52,7 +66,11 @@ CRTFLAG=/Gm /Gd
!else !else
# /O1 - smallest code # /O1 - smallest code
# /O2 - fastest code # /O2 - fastest code
!if "$(WXMAKINGDLL)" == "1"
D=RelseOS2DLL
!else
D=RelseOS2 D=RelseOS2
!endif
OPT = /O+ /Oc /G5 OPT = /O+ /Oc /G5
DEBUG_FLAGS= DEBUG_FLAGS=
LINK_DEBUG_FLAGS=/RELEASE LINK_DEBUG_FLAGS=/RELEASE
@@ -62,7 +80,8 @@ CRTFLAG=/Gm /Gd
!if [md $(OS2JPEGDIR)\$D] !if [md $(OS2JPEGDIR)\$D]
!endif !endif
CPPFLAGS=$(OS2FLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(INC) $(OPT) $(CRTFLAG) CPPFLAGS=$(OS2FLAGS) $(EXTRADLLFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(INC) $(OPT) $(CRTFLAG)
LINKFKAGS=$(OS2LINKFLAGS) $(EXTRALNKFLAGS)
{..\jpeg}.c{..\jpeg\$D}.obj: {..\jpeg}.c{..\jpeg\$D}.obj:
@echo $< @echo $<
@@ -263,6 +282,8 @@ $(DLIBLIBOBJS):
copy ..\jpeg\$D\jquant2.obj copy ..\jpeg\$D\jquant2.obj
copy ..\jpeg\$D\jdmerge.obj copy ..\jpeg\$D\jdmerge.obj
!if "$(WXMAKINGDLL)" != "1"
$(WXDIR)\lib\os2jpeg1.lib: \ $(WXDIR)\lib\os2jpeg1.lib: \
$(COMLIBOBJS) \ $(COMLIBOBJS) \
$(CLIBLIBOBJS) $(CLIBLIBOBJS)
@@ -291,6 +312,20 @@ $(WXDIR)\lib\os2jpeg.lib: \
del $(TEMP1TGT) del $(TEMP1TGT)
del $(TEMP2TGT) del $(TEMP2TGT)
!else
# Update the dynamic link library
$(WXDIR)\lib\os2jpeg.dll: $(OBJECTS)
icc @<<
/B" $(LINKFLAGS)" /Fe$@
$(LIBS)
$(OBJECTS)
$(WXDIR)\lib\os2jpeg.def
<<
implib $(WXDIR)\lib\os2jpegd.lib $(WXDIR)\lib\os2jpeg.def
!endif
clean: clean:
del $(OS2JPEGLIB) del $(OS2JPEGLIB)
erase /N $(OS2JPEGDIR)\$D erase /N $(OS2JPEGDIR)\$D

View File

@@ -186,7 +186,7 @@ typedef unsigned int JDIMENSION;
* or code profilers that require it. * or code profilers that require it.
*/ */
#if defined(__VISAGECPP__) && !defined(JPEGLOCAL) /* need this for /common/imagjpeg.obj but not loclly */ #if defined(__VISAGECPP__) /* need this for /common/imagjpeg.obj but not loclly */
/* a function called through method pointers: */ /* a function called through method pointers: */
#define METHODDEF(type) static type _Optlink #define METHODDEF(type) static type _Optlink
/* a function used only in its module: */ /* a function used only in its module: */
@@ -212,12 +212,22 @@ typedef unsigned int JDIMENSION;
* Again, you can customize this if you need special linkage keywords. * Again, you can customize this if you need special linkage keywords.
*/ */
#if defined(__VISAGECPP__) /* need this for /common/imagjpeg.obj but not loclly */
#ifdef HAVE_PROTOTYPES
#define JMETHOD(type,methodname,arglist) type (_Optlink *methodname) arglist
#else
#define JMETHOD(type,methodname,arglist) type (_Optlink *methodname) ()
#endif
#else
#ifdef HAVE_PROTOTYPES #ifdef HAVE_PROTOTYPES
#define JMETHOD(type,methodname,arglist) type (*methodname) arglist #define JMETHOD(type,methodname,arglist) type (*methodname) arglist
#else #else
#define JMETHOD(type,methodname,arglist) type (*methodname) () #define JMETHOD(type,methodname,arglist) type (*methodname) ()
#endif #endif
#endif
/* Here is the pseudo-keyword for declaring pointers that must be "far" /* Here is the pseudo-keyword for declaring pointers that must be "far"
* on 80x86 machines. Most of the specialized coding for 80x86 is handled * on 80x86 machines. Most of the specialized coding for 80x86 is handled