Skip to content

Commit

Permalink
Initial revision
Browse files Browse the repository at this point in the history
svn: r1140
  • Loading branch information
Don Allingham committed Oct 20, 2002
0 parents commit 5875df7
Show file tree
Hide file tree
Showing 374 changed files with 160,218 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .cvsignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Makefile
config.cache
config.log
config.status
gramps.sh
5 changes: 5 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Donald N. Allingham ** Concept and main design

David Hampton ** Autocomp.py and Report.py

Donald A. Peterson ** Makefiles, LaTeXDoc.py
339 changes: 339 additions & 0 deletions COPYING

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

79 changes: 79 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
For rebuilding from source, here are some guidelines to follow. For
developers who may be adding functionality to the program, be sure to read
the last section of this documen: "FINAL WORDS".

SUPER-SHORT VERSION:
You should be able to just run "./configure && make". But if you make any
significant changes or experience any problems, you may wish to run
"./autogen.sh && make" to regenerate everything.

This will call aclocal if necessary, then automake, which creates
Makefile.in from Makefile.am rules. Then it calls autoconf, which will
generate configure from configure.in and the Makefile.{am,in} sources.
Finally, autogen calls configure to generate the final files necessary for
building gramps.

SHORT VERSION:
Execute:
aclocal
automake --add-missing --gnu && autoconf && make

HTML documentation is built from SGML sources via jw. It is known to work
with docbook-utils-0.6.9. There is a problem with 0.6.10, which seems to
have some messed up dsl files. If you have difficulty building the HTML
documentation with your version of jw, then remove "doc" from the SUBDIRS
list in the top-level Makefile and send a report of where the failure was to
the gramps-devel list. This distribution is tested with the style sheets
and PNG support from the gnome-doc-tools-2-1 package.

MORE INFO: Version and package info is now set in configure.in through a
call to the AM_INIT_AUTOMAKE macro. The results are stored in variables
PACKAGE and VERSION, which then get substituted wherever necessary.
(gramps.sh, gramps.spec, src/const.py, asst. Makefiles, etc.) We also
manually set the RELEASE variable for setting things like "pre" or minor
bugfix issues. * Note: Using @VERSION@ in the manuals has the advantage that
the current manual always states that it describes current version of
gramps. The disadvantage is that this becomes misleading if the manual
isn't regularly updated. Keep in mind this is GRAMPS version and not
*manual* version. Another problem is that the standard GNOME SGML
documentation make rules (sgmldocs.make) have their own rule, but automake
generates its own rule and this introduces a conflict.

"make (un)install" now runs scrollkeeper-update to ensure
documentation database is up to date. Scrollkeeper v. > 0.1.4 should in
principle work, v. > 0.2 should see no problems.

VERBOSE, UGLY DETAILS FOR DEVELOPERS:
Using automake/autoconf adds many, MANY build targets to the makefiles.
Basically, we only care about the main and "install" targets. However,
there are some others that bear further notice:

* make dist -- will create a lovely gramps-{VERSION}.tar.gz archive with
everything needed to distribute, including the HTML documentation just in
case Joe User doen't know about or have a compatable jw/db2html. After
running "make dist" you can create the rpms using
"rpm -ta gramps-{VERSION}.tar.gz". How nice is that?

* make clean -- only gets rid of byte-compiled stuff like .so files.

* make distclean -- improves on clean by eliminating configuration (*.in,
config.*, Makefiles, and converted documentation.) stuff. This is generally
what you (as a developer) will want for testing "fresh" compiles.

* make trans -- We add this one on our own for building the template.po file.

Another caveat of the automake mantra is that new/overriding make
targets/rules/defines should generally go in the Makefile.am files rather
than Makefile.in.

* Note: Another beauty of the automake mechanism (and having automake macros
in the configure script) is that once the scripts have been made, a change
to any .am file will trigger "make" to regenerate the Makefile.in/configure
scripts as appropriate. It is _very_ convenient.

FINAL WORDS: automake "thinks" of a distribution in terms of "SOURCES", such
as raw C code, "COMPILED OBJECTS" like executables and libraries, and
"DATA", such as images, scripts, and documentation. Thus, for gramps we
concentrate on DATA-type objects. We must tell automake what objects are
important. We do this by adding to the EXTRA_DIST variable in the various
Makefile.am files before running automake.
30 changes: 30 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# copyright (C) 2000 Sun Microsystems, Inc.

SUBDIRS = src doc omf-install

EXTRA_DIST = autogen.sh gramps.spec.in

bin_SCRIPTS = gramps

grampsdocdir = $(datadir)/doc/gramps-$(VERSION)
scrollkeeper_localstate_dir = $(localstatedir)/lib/scrollkeeper

gramps: gramps.sh
cp gramps.sh gramps

dist-hook: gramps.spec
cp gramps.spec $(distdir)

# Build/rebuild the catalog
install-data-hook:
rm -rf $(DESTDIR)$(scrollkeeper_localstate_dir)
$(mkinstalldirs) $(DESTDIR)$(scrollkeeper_localstate_dir)
$(mkinstalldirs) $(DESTDIR)$(localstatedir)/log
scrollkeeper-rebuilddb -p $(DESTDIR)$(scrollkeeper_localstate_dir)

# Remove generated files
uninstall-local:
-rm -rf $(DESTDIR)$(gramps_localstate_dir)
-rm -f $(DESTDIR)$(localstatedir)/log/gramps.log
-rm -f $(DESTDIR)$(localstatedir)/log/gramps.log.1

18 changes: 18 additions & 0 deletions Makefile.comm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated automatically from Makefile.comm.in by configure.
# Hold variable definitions needed by slave Makefiles
prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
datadir = ${prefix}/share/gramps
INSTALL = /usr/bin/install -c
sharedir = ${prefix}/share/gramps
GNOMEHELP = ${prefix}/share/gnome/help
GM = gramps-manual
EG = extending-gramps
DB2HTML =



# Ensure the correct "/bin/sh" for interpreting commands
# in case the user has some other shell environment
SHELL = /bin/sh
Loading

0 comments on commit 5875df7

Please sign in to comment.