+2005-03-24 Anthony Green <green@redhat.com>
+
+ * gcj.texi (Invoking gcj-dbtool): Document new LIBDIR option to
+ 'gcj-dbtool -p'.
+
2005-03-23 Tom Tromey <tromey@redhat.com>
* decl.c (GCJ_CURRENT_BC_ABI_VERSION): New define.
gcj-dbtool @option{OPTION} @var{DBFILE} [@option{MORE}] @dots{}
gcj-dbtool [@option{-n}] [@option{-a}] [@option{-f}]
- [@option{-t}] [@option{-l}] [@option{-p}]
+ [@option{-t}] [@option{-l}] [@option{-p} [@var{LIBDIR}]]
[@option{-v}] [@option{--version}] [@option{--help}]
@c man end
@item -p
Print the name of the default database. If there is no default
-database, this prints a blank line.
+database, this prints a blank line. If @var{LIBDIR} is specified, use
+it instead of the default library directory component of the database
+name.
@item --help
Print a help message, then exit.
+2005-03-24 Anthony Green <green@redhat.com>
+
+ * gnu/gcj/tools/gcj_dbtool/Main.java: Accept libdir argument with
+ -p option.
+ (usage): Add [LIBDIR] to help output.
+ * gnu/gcj/tools/gcj_dbtool/natMain.cc: New file.
+ * Makefile.am (AM_CXXFLAGS): Define
+ LIBGCJ_DEFAULT_DATABASE_PATH_TAIL.
+ (db_pathtail): New macro.
+
2005-03-24 Tom Tromey <tromey@redhat.com>
* gnu/gcj/runtime/BootClassLoader.java (BootClassLoader): Don't
dbexecdir = $(libdir)/gcj-$(gcc_version)
## Name of the default .db.
db_name = classmap.db
+## Compiler specific component of the .db file
+db_pathtail = gcj-@gcc_version@/$(db_name)
## For now, only on native systems. FIXME.
if NATIVE
-DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\"" \
-DJAVA_EXT_DIRS="\"$(jardir)/ext\"" \
-DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \
+ -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\"" \
-DTOOLEXECLIBDIR="\"$(toolexeclibdir)\""
AM_GCJFLAGS = \
gnu/java/nio/PipeImpl$$SourceChannelImpl.h \
$(PLATFORM_INNER_NAT_HDRS)
-nat_headers = $(ordinary_nat_headers) $(inner_nat_headers)
+nat_headers = $(ordinary_nat_headers) $(inner_nat_headers) gnu/gcj/tools/gcj_dbtool/Main.h
nat_headers_install = $(ordinary_nat_headers)
xlib_nat_headers = $(xlib_java_source_files:.java=.h)
## linking this program.
jv_convert_DEPENDENCIES = libgcj.la libgcj.spec
-gcj_dbtool_SOURCES = gnu/gcj/tools/gcj_dbtool/Main.java
+gcj_dbtool_SOURCES = gnu/gcj/tools/gcj_dbtool/Main.java \
+ gnu/gcj/tools/gcj_dbtool/natMain.cc
## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'. We
## need this because we are explicitly using libtool to link using the
## `.la' file.
@GTK_AWT_TRUE@am_libjawt_la_rpath = -rpath $(toolexeclibdir)
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
-am_gcj_dbtool_OBJECTS = gnu/gcj/tools/gcj_dbtool/Main.$(OBJEXT)
+am_gcj_dbtool_OBJECTS = gnu/gcj/tools/gcj_dbtool/Main.$(OBJEXT) \
+ gnu/gcj/tools/gcj_dbtool/natMain.$(OBJEXT)
gcj_dbtool_OBJECTS = $(am_gcj_dbtool_OBJECTS)
am__gen_from_JIS_SOURCES_DIST = gnu/gcj/convert/gen-from-JIS.c \
gnu/gcj/convert/make-trie.c
propdir = $(libdir)
dbexecdir = $(libdir)/gcj-$(gcc_version)
db_name = classmap.db
+db_pathtail = gcj-@gcc_version@/$(db_name)
@NATIVE_TRUE@dbexec_DATA = $(db_name)
bin_SCRIPTS = addr2name.awk
GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated
-DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\"" \
-DJAVA_EXT_DIRS="\"$(jardir)/ext\"" \
-DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \
+ -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\"" \
-DTOOLEXECLIBDIR="\"$(toolexeclibdir)\""
AM_GCJFLAGS = \
gnu/java/nio/PipeImpl$$SourceChannelImpl.h \
$(PLATFORM_INNER_NAT_HDRS)
-nat_headers = $(ordinary_nat_headers) $(inner_nat_headers)
+nat_headers = $(ordinary_nat_headers) $(inner_nat_headers) gnu/gcj/tools/gcj_dbtool/Main.h
nat_headers_install = $(ordinary_nat_headers)
xlib_nat_headers = $(xlib_java_source_files:.java=.h)
extra_headers = java/lang/Object.h java/lang/Class.h
jv_convert_LINK = $(GCJLINK)
jv_convert_LDADD = -L$(here)/.libs libgcj.la
jv_convert_DEPENDENCIES = libgcj.la libgcj.spec
-gcj_dbtool_SOURCES = gnu/gcj/tools/gcj_dbtool/Main.java
+gcj_dbtool_SOURCES = gnu/gcj/tools/gcj_dbtool/Main.java \
+ gnu/gcj/tools/gcj_dbtool/natMain.cc
+
gcj_dbtool_LDFLAGS = --main=gnu.gcj.tools.gcj_dbtool.Main \
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS)
gnu/gcj/tools/gcj_dbtool/Main.$(OBJEXT): \
gnu/gcj/tools/gcj_dbtool/$(am__dirstamp) \
gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/$(am__dirstamp)
+gnu/gcj/tools/gcj_dbtool/natMain.$(OBJEXT): \
+ gnu/gcj/tools/gcj_dbtool/$(am__dirstamp) \
+ gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/$(am__dirstamp)
gcj-dbtool$(EXEEXT): $(gcj_dbtool_OBJECTS) $(gcj_dbtool_DEPENDENCIES)
@rm -f gcj-dbtool$(EXEEXT)
$(gcj_dbtool_LINK) $(gcj_dbtool_LDFLAGS) $(gcj_dbtool_OBJECTS) $(gcj_dbtool_LDADD) $(LIBS)
-rm -f gnu/gcj/runtime/natVMClassLoader.$(OBJEXT)
-rm -f gnu/gcj/runtime/natVMClassLoader.lo
-rm -f gnu/gcj/tools/gcj_dbtool/Main.$(OBJEXT)
+ -rm -f gnu/gcj/tools/gcj_dbtool/natMain.$(OBJEXT)
-rm -f gnu/gcj/util/Debug.$(OBJEXT)
-rm -f gnu/gcj/util/Debug.lo
-rm -f gnu/gcj/util/natDebug.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/natStringBuffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/natVMClassLoader.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/Main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/natMain.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/util/$(DEPDIR)/Debug.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/util/$(DEPDIR)/natDebug.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/xlib/$(DEPDIR)/Clip.Plo@am__quote@
if (s[0].equals("-p"))
{
- insist (s.length == 1);
- String result = System.getProperty("gnu.gcj.precompiled.db.path",
- "");
+ insist (s.length == 1 || s.length == 2);
+ String result;
+
+ if (s.length == 1)
+ result = System.getProperty("gnu.gcj.precompiled.db.path", "");
+ else
+ result = (s[1]
+ + (s[1].endsWith(File.separator) ? "" : File.separator)
+ + getDbPathTail ());
+
System.out.println (result);
return;
}
System.exit(1);
}
+ private static native String getDbPathTail ();
+
private static void insist(boolean ok)
{
if (! ok)
+ " - Merge gcj map databases into dest\n"
+ " Replaces dest\n"
+ " To add to dest, include dest in the list of sources\n"
- + " gcj-dbtool -p - Print default database name");
+ + " gcj-dbtool -p [LIBDIR] - Print default database name");
}
// Add a jar to a map. This copies the map first and returns a