Software: Apache/2.2.3 (CentOS). PHP/5.1.6 uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /usr/share/doc/antlr-2.7.6/ drwxr-xr-x | |
| Viewing file: Select action/file-type: A N T L R
======================================================================
Contents of this files is about i n s t a l l i n g ANTLR. If you
want to get some general information please checkout file
README.txt
which is part of this package. You may als visit "doc/index.html" for
further information as well as http://www.antlr.org in general.
If you want to know about the very basic steps on u s i n g ANTLR
then have a look into section
ANTLR IS INSTALLED - WHAT'S NEXT?
in file README.txt or in this file. You may also follow a simple
mini-tutorial at
http://www.antlr.org/article/cutpaste/index.html
You may want to checkout also some target specific information on how
to use ANTLR. Take a look at:
doc/index.html - main entry for all documentation
doc/runtime.html - when using JAVA
doc/cpp-runtime.html - when using C++
doc/python-runtime.html - when using Python
doc/csharp-runtime.html - when using C#
If you don't have a precompiled version but rather a source code dis-
tribution and you want to know some details on how to build and inst-
all then you have come to the right place,
PLEASE READ ON
Otherwise please skip this document!
----------------------------------------------------------------------
TABLE OF CONTENTS
* WHERE CAN I DOWNLOAD ANTLR?
* REQUIREMENTS?
* BUILD AND INSTALL? BRIEF VERSION!
* BUILD AND INSTALL? LONG VERSION!
* ANTLR IS INSTALLED - WHAT'S NEXT?
* BUILD AND INSTALL ON WINDOWS NT/95/98/2000/XP?
* FURTHER DETAILS ON ANTLR'S BUILD SETUP?
* FAQ?
* LIST OF CONFIGURED VARIABLES?
* PLATFORMS?
______________________________________________________________________
WHERE CAN I DOWNLOAD ANTLR?
ANTLR can be obtained from http://www.antlr.org either as
* precompiled binary (RPM, MSI installer etc)
* source distribution (tar + zipped)
______________________________________________________________________
REQUIREMENTS?
To get most out of ANTLR you should build ANTLR on UNIX or UNIX like
system. For example, you need a bourne shell and a couple of common
UNIX tools like "grep", "mkdir", "cp", "rm", "sed", "cat" and "chmod".
You need also a GNU make or compatible make.
Such a ANTLR friendly eco-system is given on Windows by having CYGWIN
or MSYS installed. An out-of-the-box Window system may will not work
for installation.
If you want to know on which systems ANTLR has been developed, which
systems are known to work and known to fail then please move your
cursor down near the end of this document.
______________________________________________________________________
BUILD AND INSTALL ANTLR? BRIEF VERSION!
Here's a very brief summary of how to build and install ANTLR.
$ cd $HOME
$ gzip -d -c antlr-x.y.z.tar.gz | tar xvf -
$ cd antlr-x.y.z
$ ./configure --disable-examples
$ make install
Of course you can unpack ANTLR wherever you want on your machine -
given enough space and permissions. For simplicuty, I'm just using
$HOME and this may work for any user.
ANTLR's source distribution contains lot's of examples. Making them
can be quit longish. You may want to skip those examples if you are
just interested in building the core libraries. Note that examples
are not installed.
Python users: Note that "make install" will not add antlr.py to your
local Python installation. This needs to be done manually by you. To
simplify this you may the script "pyantlr.sh". Checkout this script
in directory "scripts" or, when installed, in directory "sbin".
______________________________________________________________________
BUILD AND INSTALL ANTLR? LONG VERSION!
This section presents details on the build process.
1. Unpack
=========
To build ANTLR you need to unpack ANTLR's source distribution. This
will create a new directory named antlr-x.y.z in your current working
directory. Typical unpacking steps are:
$ cd $HOME ;
$ gzip -d -c antlr-x.y.z.tar.gz | tar xvf -
Here I'm unpacking ANTLR in my $HOME directory but you may unpack in
any directory that suits you. If you have gnu tar, then you can use
the simpler
$ tar xvfz antlr-x.y.z.tar.gz
to unpack the distro.
For the rest of this document I will use ${srcdir} as a place holder
to name the directory containing ANTLR sources. In the example given
above, the following would be true:
srcdir == $HOME/antlr-x.y.z
2. Build Directory
==================
Create a build directory and change into that directory. A build dir-
ectory can be any directory on your system. In the very brief version
shown above I'm using the source directory -- ${srcdir} -- as build
directory. However, the general way and also the better approach is
to use a new, fresh and clean directory. If at any later stage some-
thing goes wrong you can just remove the whole build directory and
start from scratch again. You can also have ${srcdir} in read-only
mode as no files are touched or changed with this approach. This is
not the case if ${srcdir} and build directory are equal.
$ mkdir -p $HOME/tmp/antlr
$ cd $HOME/tmp/antlr
3. Configure
============
Building ANTLR is accomplished by the well known GNU autoconf/make
approach. That is you run a shell script to create specialized
files -- usually Makefiles -- for your particular environment.
Within the build directory run configure like
$ ${srcdir}/configure --prefix=${installdir}
where ${srcdir} points to your package directory (see step 1).
Option --prefix==${installdir} tells configure where you want to
have ANTLR installed on your system. Using this option is not
mandatory. If you are not using it then configure will use
"/usr/local"
as default installation directory. That is binaries will be
installed in /usr/local/bin, libraries go into "/usr/local/lib" etc.
Note that "configure" will search your $PATH for command line tools
to compile Java, C++ and C# source code, execute Python etc. This
behaviour of configure can be changed by using command line options
and/or environment variables.
To see a list of available configure options just run
${srcdir}/configure --help
4. Build
========
$ make
This will (hopefully) build all needed ANTLR libraries within the
"lib" directory. If something fails for your system, and you want to
submit a bug report, you may wish to include your "config.status"
file, your host type, operating system and compiler information,
make output, and anything else you think will be helpful.
If "make" complains about unknown rules etc. then it's usually
because you are not running GNU make. Configure will search for a GNU
make in $PATH and in some well known locations. If there's no GNU
make on your system, then configure will report an error in step 3,
otherwise the first suitable GNU make wins. However, if configure
detects that "make" is not identical with the found one, configure
will show a reminder message as last action. The reminder message
will then tell you which make your are supposed to use.
5. Test
=======
You may also wish to validate the correctness of the new ANTLR by
running regression tests. It will makes you very confident if all
test run through:
$ make test
However, please don't panic if a test fails. In most cases it is
rather a problem of running the test itself than a problem with
ANTLR. When sure about a bug let us know please. Be sure to include
information on your system, the ANTLR version used and other relevant
information.
6. Install
==========
Depending on your ${installdir} directory you may need to have
write permission to copy files. If you gained permissions required --
perhaps by becoming super user -- install ANTLR by
$ make install
Python users: Note that "make install" will NOT add antlr.py to your
local Python installation. This needs to be done manually by you. To
simplify this you may the script "pyantlr.sh". Checkout this script
in directory "scripts" or, when installed, in directory "sbin".
7. Clean
========
Having installed ANTLR it is save to remove source and build
directory.
8. Enjoy!
=========
______________________________________________________________________
ANTLR IS INSTALLED - WHAT'S NEXT?
Please read "doc/getting-started.html" on what you are supposed to
do. Here's a very brief summary for the impatient:
ANTLR is a command line tool. To run ANTLR you need to have JAVA
installed. The basic steps are:
a. write a grammar file - mygrammar.g
b. run ANTLR like
$ CLASSPATH=<path-to>/antlr.jar
$ java antlr.Tool mygrammar.g
c. write a driver program using source code generated by ANTLR, ie.
Main.java, main.cpp, Main.cs or main.py
d. link generated code, your driver code, ANTLR's core library and
any additional library you are using together to get an
executable
f. run the executable on arbitrary input to be parsed
For a set of standard examples have a look into directory "examples"
and appropriate subdirectories. You may want to run make like
$ make verbose=1
to see which compiler is used and which flags are passed etc. You may
also follow a simple mini-tutorial at
http://www.antlr.org/article/cutpaste/index.html
if you are absolutly new to ANTLR.
______________________________________________________________________
BUILD AND INSTALL ON WINDOWS NT/95/98/2000/XP?
There is no difference in building and installing Windows. However,
you are need have either Cygwin or MSYS installed. We haven't tried
MKS yet.
If you run configure with Cygwin (or MSYS) then gcj will usually be
chosen for compiling Java and gcc for compiling C++. In most cases
however, C# will be automatically disabled as no compiler can be
found.
Configure is not looking up the registry to check for installed soft-
ware. Instead, configure will just check the $PATH for known compiler
names and also check some well know locations like "/usr/local/bin"
etc.
In order to make configure aware of a certain compiler or tool you
need, make sure that your compiler or tool can be found by looking up
$PATH. For example, Microsoft Visual C++ comes with a batch file
named vcvars32.bat. Just run this batch file prior of running bash to
have "cl" in your $PATH.
Configure knows about this compiler names:
bcc32 cl g++ for C++
jikes javac gcj for Java
csc mcs cscc for C#
python for Python
The order in which the names appear is also the search order. That
means that the whole $PATH gets searched for bcc32, then for cl and
finally for g++.
In other words, it is sufficient to have "cl" in $PATH to have it
selected by configure, regardless whether there is g++ available or
not. Similar, if you also have bcc32 in $PATH, then the Borland C++
Compiler will be choosen.
If you have more that one compiler in your $PATH and the "wrong"
compiler is selected - Do you have to give up on this?
Not at all.
In case you have more than one compiler/tool in your $PATH, you can
tell configure which one you like to have. For example:
--with-cxx=g++
This will favor g++ regardless whether there's a cl or bcc in PATH.
You can archive the very same by
CXX=g++ ${srcdir}/configure
That is by using an environment variable. Try --help for the full
list of --with-xxx options and environment variables.
______________________________________________________________________
DETAILS ON CONFIGURE?
This section will present some further details on how you can tell
configure to behave the way you want:
1. Choose Language
==================
ANTLR is implemented in Java and has code generator plugins for Java,
C++, C# and Python.
The default behaviour of configure is to check whether a suitable
compiler or tool for a particular language is available. If not, then
configure will show a warning message and will automatically disable
support for this language.
In a very bizarre case it is therefore possible to end up with a
configuration with no language support at all. Please study therefore
configure's output whether you end up with the system you want.
On the contrary, configure will enable, as mentioned, every target
language with sufficient compiler/tool support. To speed up the
build process you may also disable languages (and configure them
later again). This can be done by command line options:
--disable-cxx | --enable-cxx=no --> disable C++
--disable-java | --enable-java=no --> disable Java
--disable-csharp | --enable-csharp=no --> disable C#
--disable-python | --enable-python=no --> disable Python
Be warned that when disabling Java you can't even build ANTLR itself.
2. Be Verbose
=============
A typical 'make' run reports all kinds of actions exactly the way
they get carried out. This makes the output of a make run hard to
read and it's difficult to keep track "where" make is right now and
what's going on.
ANTLR's make run has been designed to be readable. By default make
will report what's going on in a kind of logical way. For example,
when compiling ANTLR itself you will see a message like
*** compiling 209 Java file(s)
This information is usually enough to keep track what's going on. If
compilation fails, then the exact command line causing the problem
will be shown and you can study the arguments whether additional
flags are required etc.
However, you can tell configure to be verbose as usual by
--enable-verbose
Having enabled verbosity, the command to compile ANTLR will be shown
similar like this (using javac):
CLASSPATH=
/opt/jdk32/142_03/bin/javac \
-d . \
-sourcepath /home/geronimo/src/antlrmain \
-classpath /home/geronimo/obj/antlr-linux/lib/antlr.jar \
Version.java \
ANTLRParser.java \
...
[[skipped 206 files]]
...
/home/geronimo/src/antlrmain/antlr/debug/misc/JTreeASTPanel.java
You have used --enable-verbose and output is too much. Do I need to
configure again?
No. Just run make like
$ make verbose=0
to turn off verbosity for this make run. You can also do this
$ verbose=0
$ export verbose
$ make
to turn verbosity off without using arguments to make.
Of course, you can also turn verbosity on (verbose=1) in the very same
way, regardless of what you have configured earlier.
3. Debug Version
================
A typical open source configuration sets compiler options to contain
debug information.
ANTLR's approach is a bit different. We believe that you want to
u s e ANTLR and not to d e b u g it. In other words, we believe
you are voting for speed.
Therefore configure will set compiler flags that go for speed and we
omit all flags introducing some debug information.
If you need to go for debug information, turn those flags on by using
--enable-debug
Similar to verbose discussed in the previous section you can override
this configuration setting by using
$ make debug=0 -- no debug information
$ make debug=1 -- turn debugging on
without the need to reconfigure. But be aware that --enable-debug is
just changing flags given to your compiler. It will not change any
names. For example, the name of ANTLR's core library is libantlr.a
(using g++) regardless of whether debug is on or off.
4. Examples
===========
You may leave out the examples just by
--disable-examples
Note that you can't undo this without reconfiguration. Nevertheless,
we recommend to configure with examples, test them and to study them
to get a full understanding on how ANTLR works and - last but not
least - about all it's capabilities.
5. Bootstrap
============
ANTLR's parser engine (ie. the parser that accepts a grammar file) is
written in ANTLR itself. From a logical point of view you would need
ANTLR to build ANTLR. This chicken and egg problem is solved simply
by having generated source files enclosed in the package.
However, if you are doing some surgery on ANTLR's internals you need
to have a existing ANTLR version around.
You can tell configure about this external ANTLR version by
--with-antlr-jar=${some-install-dir}/lib/antlr.jar
or by
--with-antlr-cmd=${some-tool-running-antlr}
The former version will add given jar file to the $CLASSPATH when
trying to compile grammar files ( *.g).
Very similar you can also use --with-antlr-cmd to provide a program
or shell script to compile grammar files. The name of the program
does not matter but it needs to be exectuable and it should support
all flags that can be given to ANTLR (check java antlr.Tools -h).
NOTE:
Bootstraping ANTLR with an external jar file or program does will
only taken into account if there's no lib/antlr.jar available in the
build directory. In other words, if you bootstraped once and you make
changes later on ANTLR's internals, then the previously build jar
file antlr.jar will be used - regardless of your configuration
options.
6. Which Make?
==============
You need a GNU make to run the build. This is especially true when
building ANTLR on Windows. Nevertheless, some efforts has been done
to lower the dependency on GNU make for portability reasons. But we
are not done yet.
If you have GNU make installed on your system but it's not in your
PATH or you want to have a special version of make, you may tell this
configure by either
--with-make=${list-of-candidates}
or by using environment variable $MAKE like
MAKE=${list-of-candidates} ${srcdir}/configure
Which variant you are using is a matter of your personal taste. But
be aware that the command line argument is overriding the environment
variable. Consider this example:
MAKE=x-make ${srcdir}/configure --with-make="y-make z-make"
Here configure will check your $PATH for y-make and z-make bug x-make
is ignored.
Note that the withespace seperated ${list-of-candidates} may also
contain absolute path names. In that case $PATH is not consulted but
the file is directly checked for existence. Here's an example:
MAKE='make /usr/bin/make' ${srcdir}/configure
Here your $PATH is consulted whether a "make" exsists. Then
/usr/bin/make is checked for existence.
The first make found which is then a GNU make is the one choose to be
used to build ANTLR.
For consistency reasons you may also use --with-makeflags or variable
$MAKEFLAGS to pass specific flags to make. However, this information
is not yet used. Right now the flags used are the flags provided when
calling make.
7. Which Java?
==============
ANTLR has been tested with SUN Java 1.4.x using either SUN's javac
Java compiler, IBM's jikes or GNU's gcj. Other systems have not been
tested and are not expected to work.
The default search order is
jikes javac gcj
It is therefore sufficient to have "jikes" in your $PATH to get it
choosen by configure - regardless whether it precedes a javac or not
in $PATH.
You may change this default search by providing a list of candidates
by either
--with-javac=${candidate-list}
or by
JAVAC=${candidate-list}
The candidates should be seperated by whitespace and may be relative
or absolute path names. Only in the former case a lookup in $PATH
takes place.
By default options passed to a Java compiler are those who are
sufficient to compile ANTLR. You may pass other flags by either
--with-javacflags=${flags}
JAVACFLAGS=${flags}
In most cases you want to leave the default flags intact but rather
add your additional flags. To support this, ANTLR's build management
interprets ${flags} like this:
${flags} STANDARD FLAGS RESULT
--------------+-----------------+----------------------
+ f1 f2 .. fn | F1 .. FN | F1 .. FN f1 f2 .. fn
- f1 f2 .. fn | F1 .. FN | f1 f2 .. fn F1 .. FN
= f1 f2 .. fn | F1 .. FN | f1 f2 .. fn
f1 f2 .... fn | F1 .. F | f1 f2 .. fn
--------------+-----------------+----------------------
In other words, you can either tell configure to append (+), to
prepend (-) or to substitute(=) your flags.
Note that this is also possible when running make. For example,
$ make JAVAC=jikes JAVACFLAGS="+ -verbose"
would use jikes to compile regardless of what has been configured
before. Additionally the flag "-verbose" is used.
So far we talked about compiling Java. Let's have now a look on how
to execute class files. By default configure searches for
java gij
to run Java. As discussed before it is sufficient to have a Java in
$PATH to get java selected. It has also to be noted that gij is still
in experimental stage and not fully supported now.
As before you may also provide additional flags to Java by using
either
--with-javaflags=${flags}
or by using environment variable
JAVAFLAGS=${flags}
Again, ${flags} are getting interpreted according to table shown
above.
8. Which C++ Compiler?
======================
The algorithm on how the C++ compiler is choosen and how to pass
additional flags are very much the same as discussed before for the
Java compiler.
The default candidate list for choosing a C++ compiler is
bcc32 cl g++ on Windows ; and
aCC CC xlC xlC_r g++ cxx c++ on UNIX.
To change this list use
--with-cxx=${candidates}
and use
--with-cxxflags=${flags}
to pass additional flags to the standard compiler flags. You can also
use $CXX and $CXXFLAGS if you like. This will then also work when
running make.
9. Which C# Compiler?
=====================
The only candidate for C# as time of writing is
csc
for compiling C# source code. To change this option
--with-csharpc=${candidates}
and use
--with-csharpcflags=${flags}
for providing a list of additional options. Note that ${flags} are
getting interpreted as discussed in the previous sections.
Instead of command line arguments to configure you may also use
$CSHARPC and $CSHARPCFLAGS. This variables are also working when
running make.
10. Which Python?
=================
Configure is searching for "python" in your $PATH and in some well
known locations. If no "python" can be found, language support for
Python is disabled.
You may use
--with-python="${candidates}"
to provide a list of Python candidates and further you may use
--with-pythonflags="${flags}"
to provide a list of (additional) flags to be passed to Python on
execution. Note that ${flags} is getting interpreted as discussed in
the previous sections.
You may also use $PYTHON and $PYTHONFLAGS instead. This variables are
then also working when running make. Note that those variable may
override what has been configured before without any warning.
______________________________________________________________________
FURTHER DETAILS ON ANTLR'S BUILD SETUP?
In allmost all cases it is assumed to be sufficient to change compiler
settings by using either --with-${lang}flags or by using ${LANG}FLAGS.
It's most likely not sufficient if you want to support a new compiler,
tool or a new operating system.
The general idea is to have a configured shell script for each tool
or compiler being used rather than doing the scripting within the
Makefile itself. The reason for this is that scripting in Makefiles is
rather hard to read and a pain to debug (for example, there's no line
information).
The configured shell scripts are to be found in subdirectory "scripts"
within the build directory. Their originals are located in
${srcdir}/scripts
This scripts are known at time of writing:
antlr.sh.in - runs "java antlr.Tools"
cxx.sh.in - run C++ compiler
cpp.sh.in - run C/C++ preprocessor (for dependencies).
jars.sh.in - how to make a static library (aka jar file)(Java)
javac.sh.in - run Java compiler (also when using jikes etc)
lib.sh.in - how to make a static library (C++)
link.sh.in - how to make a executable (C++)
python.sh.in - how to run python
A Makefile contains nothing more than variables and rules and in all-
most all cases (but simple exceptions) the command behind a rule is
just executing a script.
Note that these scripts are not intended to be used to compile C++,
Java etc in general. Instead this scripts are specialized for ANTLR.
For example, the script "lib.sh" has a very simple interface. All
you can provide is a list of object files. There is no option to
tell about the library name to be build. Instead the library name
is set by configure and available by using @ANTLR_LIB@ in all
configured files.
Unfortunatly, all scripts are rather complex and limiting ourselfs of
not using shell functions (portability) is not going make changes
easier.
In general you should only edit the upper part of any script till
there's a line like "**NO CHANGE NECESSARY BELOW THIS LINE - EXPERTS
ONLY**".
Then let's have now a closer look at cxx.sh.in. The other scripts are
very similar. I'm going to discuss here only the relevant parts - this
is open source after all any you may try to understand it by reading
the source code :-)
ARGV="$*"
In general all arguments given to the script file are collected with-
in variable $ARGV. In some scripts, the very first argument has a
special meaning - usually it tells about the target to be created. In
such a case
TARGET
would hold the first argument given and ARGV would hold all others.
if test -z "${CXX}" ; then
CXX="@CXX@"
cxx="@cxx@"
else
cxx="`basename $CXX`"
cxx="`echo $cxx|sed 's,\..*$,,'`"
fi
This script snippet checks about the compiler to be used for compiling
C++ source. Note that we have two variables, CXX and cxx. The former
holds usually the absolute path of the compiler as configured. The
later, cxx, contains the logical compiler name. The logical compiler
name is "gcc" for GNU, "cl" for Microsoft C++ etc. etc.
The logical compiler name is usually configured and available as @cxx@.
However, a user overrides the configuration by using environment
variable CXX, the logical compiler name is computed by removing any
extension.
In a further section (similar in other scripts) we set specific flags
depending on the l o g i c a l compiler name. As you can see it is
rather important to the logical name proper.
case "${cxx}" in
gcc)
cxxflags="-felide-constructors -pipe"
case "${DEBUG}" in
0)
cxxflags="-O2 -DNDEBUG ${cxxflags}"
;;
1)
cxxflags="-g ${cxxflags} -W -Wall"
;;
esac
;;
cl)
cxxflags="/nologo -GX -GR"
[[skipped]]
esac
In the snippet shown you can see the handling of "gcc" and "cl". Note that
the compiler flags are saved in $cxxflags and not in $CXXFLAGS. Reason
for this is that handling of environment variable $CXXFLAGS is rather
longish due to ANTLR's special interpretation mechanism (as discussed
in an earlier section).
In some cases flags may depend on platform in use. In that case you may
do something like:
case ${cxx} in
gcc)
case @build_os@ in
cygwin)
## cygwin specific flags ..
;;
sparc)
## sparc specific ..
;;
*)
## all others
;;
esac
..
esac
Of course you can utilize here the full scripting power to set flags
required to get compilation job done.
______________________________________________________________________
FAQ?
1. How to setup jikes boot classpath?
=====================================
Jikes (http://www-124.ibm.com/developerworks/oss/jikes) is just a
Java compiler that needs to know about Java's core classes, ie.
rt.jar, for a successful build of ANTLR. By default configure tries
to locate rt.jar by searching $PATH for a java executable and
relative to where found, for ../jre/lib/rt.jar.
If this search fails or if you want to pass a different Java core or
further core libraries, you may use either option
--with-bootclasspath="${args}"
or environment variable
BOOTCLASSPATH="${args}"
The list of arguments, ${args}, is supposed to be list of whitespace
seperated files or directories. Configure will validate that each
argument exists and will fail otherwise. Besides this there are no
further validations done - you are supposed to know what you are
doing. Note also that configure will not perform any search in case
a bootclasspath is given.
The arguments given are concatenated using platform specific argument
seperator (ie. ";" or ":") and passed to option --bootclasspath.
2. Can I just say "make" after having unpacked ANTLR?
=====================================================
No - as explained previously you need to run "configure" before you
can issue a "make".
3. How do I cleanup afterwards?
===============================
You do a "make clean" to remove all object files. If you do a "make
distclean", then all files generated by ANTLR are also removed. In
this case you need a external antlr.jar somewhere to rebuild.
If you are using a external build directory you may just remove the
whole directory without any harm.
4. Is it safe to edit a Makefile?
=================================
In general do not edit files named Makefile. Instead edit files
named Makefile.in. Configure or config.status will override changes
you made in a Makefile on any run.
5. I changed Makefile.in - what's next?
=======================================
Just run make again. Each Makefile contains a rule that automatically
remakes itself if corresponding Makefile.in has changed.
This automatic rule works fine in general. However, if you change
Makefile/Makefile.in in such a way that make rejects it's execution
then you need to remake Makefile yourself.
This can be done by
$ cd ${builddir}
$ ./config.status ${your-makefile}
Here's an example. Assume that "antlr/Makefile" is corrupted. The do
this:
./config.status antlr/Makefile
You can also issue just a
$ ./config.status
In this case all configured files are regenerated.
6. My configure has changed - what's next?
=============================================
You need to reconfigure each build directory to get the changes. So
far no automatic rule has been implemented. The easiest way of being
up-to-date is:
$ cd ${builddir} && ./config.status --recheck && make
7. Where do I find antlr.jar?
=============================
Have a look at "lib". Should be there - but it is subject of having
enabled Java or not. Note that Java gets automatically disabled if
there's no sufficient Java compiler found (warning message would be
dumped in that case).
8. How can I make "make" nosiy?
===============================
By default make just tells you what's going on in a very brief way.
To change this just do this:
$ make verbose=1
You can also tell configure to turn verbosity on by default by using
option
--enable-verbose.
Run "configure --help" for a list of options available.
9. Am I able to run "make" in a subdirectory?
=============================================
Sure.
10. Is it safe to remove configured subdirectory?
=================================================
In general "yes" but you want to do this only within the build tree.
For example, let's assume that you are tired of getting standard
examples tested. Then just move on and remove subdirectory
"examples".
______________________________________________________________________
LIST OF CONFIGURED VARIABLES?
ANTLRFLAGS
ANTLR_ACTION_FILES
ANTLR_ANTLR_FILES
ANTLR_COMPILE_CMD
ANTLR_CYGWIN
ANTLR_JAR
ANTLR_LIB
ANTLR_MINGW
ANTLR_NET
ANTLR_PY
ANTLR_TOKDEF_FILES
ANTLR_WIN32
ANTLR_WITH_ANTLR_CMD
ANTLR_WITH_ANTLR_JAR
AR
ARFLAGS
AS
BOOTCLASSPATH
CSHARPC
CSHARPCFLAGS
CSHARP_COMPILE_CMD
CXX_COMPILE_CMD
CXX_LIB_CMD
CXX_LINK_CMD
CYGPATH
DEBUG
EXEEXT
JAR
JARFLAGS
JAR_CMD
JAVA
JAVAC
JAVACFLAGS
JAVAFLAGS
JAVA_CMD
JAVA_COMPILE_CMD
LIBEXT
MAKE
OBJEXT])
PATCHLEVEL
PYTHON
PYTHONFLAGS
SUBVERSION
VERBOSE
VERSION
WITH_EXAMPLES
abs_this_builddir
cxx
jar
java
javac
______________________________________________________________________
PLATFORMS?
ANTLR has been developed and tested on platforms listed below. A
platform is considered supported and tested if basically all standard
examples are working.
Devel for ANTLR 2.7.5 took place on:
i686-linux2.6.3-7mk
- Java 1.4.2, gcj 3.3.4, jikes 1.16, 1.17, 1.18, 1.19, 1.20, 1.21, 1.22
- gcc 3.3.2, gcc 3.3.4
- Python 2.3, 2.4
- DotGNU 0.6.0
i686-cygwin_nt-5.1
- Java 1.4.2, gcj 3.3.3, jikes 1.22
- gcc 3.3.3, bcc32 5.6 (Borland C++), cl 13.10.3077 (Microsoft C++)
- csc 7.10.6001.4 (Visual C# .NET Compiler)
- Python 2.2, 2.3, 2.4
- Mono 1.0.5
ANTLR has been tested on:
MinGW-3.1.0.1 (needs manual install of cygpath!)
- MSys 1.0.10
- Java 1.5.0-b64
- gcc 3.4.1
PowerPC or RS/6000:
* powerpc-apple-darwin6.8 (MacOS 1o, "Jaguar")
- Java 1.4.1, jikes 1.15
- gcc 3.1
- Python 2.2
- Mono (?) also reported to work.
SPARC:
* sparc-sun-solaris2.8
- Java 1.4.1
- SUN CC 5.6
Known n o t to work:
- jikes 1.13 and older due to missing classpath and bootclasspath
options. Jikes 1.14 and 1.15 are not tested due to compilation
problems compiling jikes itself (on Mandrake 1o).
- Python < 2.2 will not work.
- gcc 2.* will not work.
- You need to have GNU make (for building).
======================================================================
INSTALL.txt - last update January 11th, 2005
|
:: Command execute :: | |
:: Shadow's tricks :D :: | |
Useful Commands
|
|
:: Preddy's tricks :D :: | |
Php Safe-Mode Bypass (Read Files)
|
|
--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0222 ]-- |