6 if len(sys.argv) == 1 or '--help' in sys.argv:
8 JCC - C++/Python Java Native Interface Code Generator
10 Usage: python -m jcc.__main__ [options] [actions]
13 --jar JARFILE - make JCC wrap all public classes found in
14 JARFILE, add it to the module's CLASSPATH and
15 include it in the distribution
16 --include JARFILE - include JARFILE in the distribution and add
17 it to the module's CLASSPATH
18 --import MODULE - link against the wrappers to classes shared
19 with MODULE instead of generating duplicate
20 and incompatible wrappers
21 --exclude CLASS - explicitly don't wrap CLASS
22 --package PACKAGE - add PACKAGE to the list of packages from
23 which dependencies are automatically wrapped
24 --classpath [PATH|JAR] - add [PATH|JAR] to CLASSPATH while generating
26 --libpath [PATH] - add [PATH] to java.library.path while generating
28 --module MODULE - include Python MODULE in the distribution
29 --reserved SYMBOL - mark SYMBOL as a reserved word that will be
30 mangled in the generated C++ code to avoid
31 clashes with C/C++ reserved words or header
33 --vmarg - add extra Java VM initialization parameter
34 --resources - include resource directory in distribution as
37 Python wrapper generation options:
38 --python NAME - generate wrappers for use from Python in a module
40 --version VERSION - the generated module's version number
41 --shared - generate a module that links against a shared
42 library version of the JCC runtime so that
43 multiple JCC-wrapped modules can be used within
44 the same Python runtime
45 --sequence CLASS METHODSIGNATURE
46 - generate a pythonic sequence protocol wrapper for
48 --mapping CLASS METHODSIGNATURE1 METHODSIGNATURE2
49 - generate a pythonic map protocol wrapper for CLASS
50 --rename CLASS1=NAME1,CLASS2=NAME2,...
51 - rename one or more Python wrapper classes to
52 avoid name clashes due to the flattening of
53 the Java package namespaces as mapped into
55 --no-generics - disable support for Java generics
57 If you're planning to use pythonic wrappers you should read the relevant
59 http://lucene.apache.org/pylucene/jcc/documentation/readme.html#python
62 --debug - generate a module using the C++ compiler's
64 --output OUTPUTDIR - the wrapper will be generated in OUTPUTDIR,
66 --files N - split the generated wrapper file into at least
67 N files to workaround C++ compiler file size
69 --arch - Mac OS X only: filter the -arch parameters
70 Python was configured with to build leaner
72 --find-jvm-dll - Windows only: extract the directory containing
73 jvm.dll from the registry and append it to the
77 --build - generate the wrapper and compile it
78 --compile - recompile the (previously generated) module
79 --install - install the wrapper in the local site-packages
82 --use-distutils - use distutils even when setuptools is available
83 --bdist - generate a binary distutils-based distribution
84 or a setuptools-based .egg
85 --wininst - create an installer application for Microsoft
88 Other distutils/setuptools options (there are passed right through):
89 --compiler COMPILER - use COMPILER instead of the platform default
91 --install-dir INSTALLDIR