web/lib/arch/osx/jcc/__main__.py
changeset 29 cc9b7e14412b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/arch/osx/jcc/__main__.py	Tue May 25 02:43:45 2010 +0200
@@ -0,0 +1,88 @@
+
+import sys
+from jcc import cpp
+
+if len(sys.argv) == 1 or '--help' in sys.argv:
+    help = '''
+  JCC - C++/Python Java Native Interface Code Generator
+
+  Usage: python -m jcc.__main__ [options] [actions]
+
+  Input options:
+    --jar JARFILE           - make JCC wrap all public classes found in
+                              JARFILE, add it to the module's CLASSPATH and
+                              include it in the distribution 
+    --include JARFILE       - include JARFILE in the distribution and add
+                              it to the module's CLASSPATH
+    --exclude CLASS         - explicitly don't wrap CLASS
+    --package PACKAGE       - add PACKAGE to the list of packages from
+                              which dependencies are automatically wrapped
+    --classpath [PATH|JAR]  - add [PATH|JAR] to CLASSPATH while generating
+                              wrappers 
+    --libpath [PATH]        - add [PATH] to java.library.path while generating
+                              wrappers 
+    --module MODULE         - include Python MODULE in the distribution
+    --reserved SYMBOL       - mark SYMBOL as a reserved word that will be
+                              mangled in the generated C++ code to avoid
+                              clashes with C/C++ reserved words or header
+                              file definitions
+    --vmarg                 - add extra Java VM initialization parameter
+
+  Python wrapper generation options:
+    --python NAME           - generate wrappers for use from Python in a module
+                              called NAME
+    --version VERSION       - the generated module's version number
+    --shared                - generate a module that links against a shared
+                              library version of the JCC runtime so that
+                              multiple JCC-wrapped modules can be used within
+                              the same Python runtime
+    --sequence CLASS METHODSIGNATURE
+                            - generate a pythonic sequence protocol wrapper for
+                              CLASS
+    --mapping CLASS METHODSIGNATURE1 METHODSIGNATURE2
+                            - generate a pythonic map protocol wrapper for CLASS
+    --rename CLASS1=NAME1,CLASS2=NAME2,...
+                            - rename one or more Python wrapper classes to
+                              avoid name clashes due to the flattening of
+                              the Java package namespaces as mapped into
+                              Python
+    --no-generics           - disable support for Java generics
+
+    If you're planning to use pythonic wrappers you should read the relevant
+    documentation first:
+      http://lucene.apache.org/pylucene/jcc/documentation/readme.html#python
+
+  Output options:
+    --debug                 - generate a module using the C++ compiler's
+                              debug options
+    --output OUTPUTDIR      - the wrapper will be generated in OUTPUTDIR,
+                              'build' by default
+    --files N               - split the generated wrapper file into at least
+                              N files to workaround C++ compiler file size
+                              limitations 
+    --arch                  - Mac OS X only: filter the -arch parameters
+                              Python was configured with to build leaner
+                              binaries, faster
+
+  Actions:
+    --build                 - generate the wrapper and compile it
+    --compile               - recompile the (previously generated) module
+    --install               - install the wrapper in the local site-packages
+
+  Distribution actions:
+    --use-distutils         - use distutils even when setuptools is availble
+    --bdist                 - generate a binary distutils-based distribution
+                              or a setuptools-based .egg
+    --wininst               - create an installer application for Microsoft
+                              Windows
+
+  Other distutils/setuptools options (there are passed right through):
+    --compiler COMPILER     - use COMPILER instead of the platform default
+    --root ROOTDIR
+    --install-dir INSTALLDIR
+    --prefix PREFIX
+'''
+    print help
+    sys.exit(0)
+  
+cpp.jcc(sys.argv)