Main Page
    Cookbook/Overview     ImageMeister     the jcprops file     Licensing
    Binary Installation & Configuration [ Win · Mac · Nix · OSX ]     Changes
    Public API
    Source Code Main Page
        Java [ Common · Win · Mac · Nix ]     Native Code [ Common · Win · Mac · Nix ]     Manifest
        Native Code Overviews [ Common · Win · Mac · Nix · Strings ]     Macros [ General · Native Macros ]
        Walkthroughs [ Java only · Java and native ]     Building [ Win · Mac · Nix · OSX ]     Distribution Issues

Macros and Defines

This file describes general macros and global defines.

Macros

In addition to the native macros, macros are defined for working with CDateBundle's, CStringVector's, and CStr's. Mac-specific macros are also defined for working with CFSpec's.

The CStr macros are described in strings.html, as well as in the CStrA and CStrW header files.

The CDateBundle macros are described in the CDateBundle header file.

The CStringVector macros are described in the CStringVector header file.

The Mac-only CFSpec macros are described in the CFSpec header file.

Defines

The following defines are used to control various aspects of compilation.



These control which native architecture is used.

On Mac, the appropriate value is set in the files in the 'meta' folder: 'meta_inc_CWS.h', etc. Those files are preprocessed by the CodeWarrior project. If you compile using a different compiler or project, you need to set the appropriate symbols from those files.

On Windows, the appropriate value is set in the 'Preprocessor Definitions' box, which is in the C++/general section of the 'Project Settings' dialog. This dialog is reachable from the 'Build:Settings' menu.

On Linux, the appropriate value is set in the shell script used to build the shared object.



These values should be set by the compiler, and indicate which platform we're running on.



This Windows-only value enables a Unicode build which will run on Win95. See the file 'files\win\unicodeOn95.h' for details



Windows-only. If defined, each native stub is surrounded by an SEH frame. This is set in the same location as the 'DO_JNI', etc. values.

If this is not defined, the routines in AppUtilsMSVM.cpp are the actual native code entry points.

If this is defined, the native code entry points are contained in the file 'sehstubs.cpp'. These routines set up an SEH frame, and call through to the corresponding routines in the AppUtilsMSVM.cpp file



Windows-only. If defined, we're building for WinNT. This is set in the same location as the 'DO_JNI', etc. values.



Windows-only. This value is defined in the MSVM SDK 2.0 or greater, and is only used in DO_RNI2 builds. This is the value which will be returned from the exported routine 'RNIGetCompatibleVersion'.



Windows-only. While JConfig no longer supports building the DLLs using Metrowerks, this is still kept in CStrA for old times sake.


Main Page · JConfig · ImageMeister · System Properties Repository · WordMeister · Free Samples · Java Freeware · Contact Us · FAQ · Links


Copyright (c) 1997-2002 Samizdat Productions. All Rights Reserved.
WarpMovie, TileMovie, JConfig, ImageMeister and MovieShredder are Trademarks of Samizdat Productions.