...
 
Commits (3)
#utf-8 text
Maintainer
Jean Bréfort <jean dot brefort at normalesup dot org>
Contributors
Daniel Leidert <daniel.leidert@wgdd.de>
Jordan Mantha <jordan at laserjock dot us>
Nestor Diaz: graphics (icon, logo)
Serge Moreau: templates
Julian Sikorski: templates
Translators
Grégoire Jean-François Demets (Brasilian)
Ben Luo (Chinese)
Christian Neumair (German)
Christian Lohmaier (German)
Daniel Leidert (German)
Costantino Ceoldo (Italian)
Michał Sałaban (Polish)
Nikodem Kuznik (Polish)
Julian Sikorski (Polish)
Valek Filippov (Russian)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
SUBDIRS = po database ui pixmaps libs plugins programs mozilla-plugin \
openbabel gnumeric goffice templates themes samples tests \
dtds docs schemas
EXTRA_DIST= \
$(mime_in_files) \
gnome-doc-utils.make \
intltool-extract.in \
intltool-update.in \
intltool-merge.in \
COPYING-DOCS
CLEANFILES = \
gchemutils.xml
DISTCLEANFILES = \
intltool-extract \
intltool-update \
intltool-merge \
doltcompile
MAINTAINERCLEANFILES = \
aclocal.m4 \
compile \
config.guess \
config.sub \
config.h.in \
configure \
depcomp \
gnome-doc-utils.make \
install-sh \
intltool-extract.in \
intltool-update.in \
intltool-merge.in \
ltmain.sh \
missing \
mkinstalldirs \
Makefile.in
DISTCHECK_CONFIGURE_FLAGS = \
--disable-scrollkeeper \
--disable-schemas-install \
--disable-update-databases \
--with-mozilla-libdir=\$${libdir}/mozilla \
--with-goffice-plugins-dir=\$${libdir}/goffice \
--with-gnumeric-plugins-dir=\$${libdir}/gnumeric
mime_in_files = gchemutils.xml.in
mimedir = $(datadir)/mime/packages
mime_DATA = $(mime_in_files:.xml.in=.xml)
@INTLTOOL_XML_RULE@
ACLOCAL_AMFLAGS = -I m4
install-data-hook:
if WITH_UPDATE_MIME
$(UPDATE_MIME_DATABASE) $(datadir)/mime
endif
if WITH_UPDATE_DESKTOP
$(UPDATE_DESKTOP_DATABASE) $(datadir)/applications
endif #WITH_UPDATE_DESKTOP
uninstall-hook:
if WITH_UPDATE_MIME
$(UPDATE_MIME_DATABASE) $(datadir)/mime
endif #WITH_UPDATE_MIME
if WITH_UPDATE_DESKTOP
$(UPDATE_DESKTOP_DATABASE) $(datadir)/applications
endif #WITH_UPDATE_DESKTOP
This diff is collapsed.
This diff is collapsed.
The Gnome chemistry Utils are a collection of libraries and programs for the
GNOME desktop which migh be useful for chemists and science students.
Copyright 1999-2012 Jean Bréfort jean.brefort@normalesup.org, All Rights Reserved.
http://jean.brefort.free.fr
This software is copyrighted under the GNU GPL version 3 or later. Please see
the file COPYING, or, to obtain a copy of the GNU GPL, please visit:
http://www.gnu.org
An exception is the openbabel directory which is copyrighted under the GNU GPL
version 2 or later, because of the OpenBabel license.
See the file AUTHORS for a list of who has contributed to the application.
Introduction
--------------------------------------------------------------------------------
The latest version of the software can be found at:
http://savannah.nongnu.org/download/gchemutils/
See the file ChangeLog for more information about this software.
What is needed to install the Gnome Chemistry Utils:
GOffice version 0.10.x.
All dependencies of these libraries.
These libraries are available from ftp://ftp.gnome.org or one of its mirrors.
BODR (the Blue Obelisk Data Repository) version 5 or later.
(http://bodr.sourceforge.net).
The Chemical Mime Data version 0.1.94 or later
(http://chemical-mime.sourceforge.net).
OpenBabel-2 version 2.1.0 or later (http://openbabel.sourceforge.net).
Further man, xmllint, xsltproc and maybe a local docbook-xsl installation
are required for manpage building. We deliver ready-to-use manpages, so you
don't need to build them yourself. But if you e.g. change something in their
XML source, you need xsltproc to update the manpages too.
Versions numbering:
Odd minor versions are development version. To see what remains to be done
before a stable version can be released read the TODO file. Help is of course
welcomed.
Five widgets are present in this version of the software:
* GcukPeriodic is a periodic table of the elements.
* GcuComboPeriodic is a combo button with a drop down
periodic table.
* GcuCrystalViewer is a crystal structure viewer.
* GcuChem3DViewer is a 3D molecular structure viewer.
* GcuSpectrumViewer is a spectrum viewer.
Simple samples of their use are provided in the test programs
Six programs are avaible:
* A 2D chemical editor (GChemPaint).
* A 3D molecular structure viewer (GChem3Viewer).
* A Crystal structure viewer (GCrystal).
* A Chemical calculator (GChemCalc).
* A Spectrum viewer (GSpectrum).
* A periodic table of the elements application (GChemTable).
Three plugins for external programs are included:
* A GOffice plugin allows embedding GChemPaint supported files ans 3D structures
in programs supporting the GOffice component framework.
* A Gnumeric plugin provides a molarmass function for the spreadsheet.
* A Mozilla plugin allows embedding 2D, 3D and crystal structures as well as
spectra in web pages.
* Periodic table:
* add more data using bodr (?).
* add crystal structures (? needs reliable crystal structures in bodr).
* Calculator:
* enhance ambiguous abbreviations support (0.14?).
* a lot of code cleaning (0.14?).
* 3d viewer:
* allow selection of atoms and or bonds, and display of lengths and angles (0.14?).
* add a preferences dialog.
* accept several molecules from the same file.
* Mozilla plugin:
* implement printing (?).
* add a contextual dropdown menu (?).
* support for options when displaying a spectrum (?).
* Gnome Crystal:
* enhance cif and cml support (add more fields in document properties) (?).
* really add bond support, not through lines) (?).
* accept several crystal description from the same file.
* GChemPaint:
* enhance copy-and-paste support for OpenOffice.org (?).
* New tools:
- delocalized bonds (?),
- week interactions (e.g. H-bonds) (?),
- curved reaction arrows and Tollman's loops (?),
- cluster bonds (as in boranes) (?),
- electron vacancies (?).
* Multi-steps reactions (0.14?).
* Scriptability (?).
* Enhance fragments (0.14+).
* Change cursor according to situation (?).
* Allow associating several objects with reaction arrows (0.14?).
* Allow various superscripts for brackets (charge, transition state,...)
* Goffice component:
* add support for cml files (?).
* Spectrum viewer:
* support inclusion of zoomed partials.
* import varian files (0.14?)
* GCCV Library:
* add new items as needed.
* GCU Library:
* provide clipboard support at the Application level (?).
* OpenBabel wrapper:
* write a streambuf class wrapping the socket.
* Other:
* Make file operation asynchroneous (especially for remote file systems).
* Update documentation (always).
* More code cleaning (always).
* Remove all bugs ;-)
dnl Copying and distribution of this file, with or without modification,
dnl are permitted in any medium without royalty provided the copyright
dnl notice and this notice are preserved.
dnl @synopsis GCU_PROG_XMLLINT
dnl
dnl @summary Determine if we can use the xmllint program
dnl
dnl This is a simple macro to define the location of xmllint (which can
dnl be overridden by the user) and special options to use.
dnl
dnl @category InstalledPackages
dnl @author Daniel Leidert <daniel.leidert@wgdd.de>
dnl @version 2006-09-24
dnl @license AllPermissive
AC_DEFUN([GCU_PROG_XMLLINT],[
AC_ARG_VAR(
[XMLLINT],
[The `xmllint' binary with path. Use it to define or override the location of `xmllint'.]
)
AC_PATH_PROG([XMLLINT], [xmllint])
if test -z $XMLLINT ; then
AC_MSG_WARN([`xmllint' was not found. We cannot validate the XML sources.]) ;
else
AC_MSG_CHECKING([for xmllint >= 2.6.24...])
m4_ifdef(
[PKG_CHECK_EXISTS],
[
PKG_CHECK_EXISTS(
[libxml-2.0 >= 2.6.24],
[AC_MSG_RESULT([yes])],
[
AC_MSG_RESULT([no])
XMLLINT=""
AC_MSG_WARN([`xmllint' not available or too old. We cannot validate the XML sources.])
]
)
],
[
if $PKG_CONFIG libxml-2.0 --atleast-version=2.6.24; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
XMLLINT=""
AC_MSG_WARN([`xmllint' not available or too old. We cannot validate the XML sources.])
fi
]
)
fi
AC_SUBST([XMLLINT])
AM_CONDITIONAL([HAVE_XMLLINT], [test "x$XMLLINT" != "x"])
AC_ARG_VAR(
[XMLLINT_FLAGS],
[More options, which should be used along with `xmllint', like e.g. `--nonet'.]
)
AC_SUBST([XMLLINT_FLAGS])
AC_MSG_CHECKING([for optional xmllint options to use...])
AC_MSG_RESULT([$XMLLINT_FLAGS])
]) # GCU_PROG_XMLLINT
dnl @synopsis GCU_PROG_XSLTPROC
dnl
dnl @summary Determine if we can use the xsltproc program
dnl
dnl This is a simple macro to define the location of xsltproc (which can
dnl be overridden by the user) and special options to use.
dnl
dnl @category InstalledPackages
dnl @author Daniel Leidert <daniel.leidert@wgdd.de>
dnl @version 2006-009-24
dnl @license AllPermissive
AC_DEFUN([GCU_PROG_XSLTPROC],[
AC_ARG_VAR(
[XSLTPROC],
[The `xsltproc' binary with path. Use it to define or override the location of `xsltproc'.]
)
AC_PATH_PROG([XSLTPROC], [xsltproc])
if test -z $XSLTPROC ; then
AC_MSG_WARN([`xsltproc' was not found! The manpages cannot be updated from their XML source.]) ;
fi
AC_SUBST([XSLTPROC])
AM_CONDITIONAL([HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
AC_ARG_VAR(
[XSLTPROC_FLAGS],
[More options, which should be used along with `xsltproc', like e.g. `--nonet'.]
)
AC_SUBST([XSLTPROC_FLAGS])
AC_MSG_CHECKING([for optional xsltproc options to use...])
AC_MSG_RESULT([$XSLTPROC_FLAGS])
]) # GCU_PROG_XSLTPROC
dnl @synopsis GCU_PROG_MAN
dnl
dnl @summary Determine if we can use the man program
dnl
dnl This is a simple macro to define the location of man (which can
dnl be overridden by the user).
dnl
dnl @category InstalledPackages
dnl @author Daniel Leidert <daniel.leidert@wgdd.de>
dnl @version 2006-09-24
dnl @license AllPermissive
AC_DEFUN([GCU_PROG_MAN],[
AC_ARG_VAR(
[MAN],
[The `man' binary with path. Use it to define or override the location of `man'.]
)
AC_PATH_PROG([MAN], [man])
if test -z $MAN ; then
AC_MSG_WARN([`man' was not found. We cannot check the manpages for errors. See README.]) ;
fi
AC_SUBST([MAN])
AM_CONDITIONAL([HAVE_MAN], [test "x$MAN" != "x"])
]) # GCU_PROG_MAN
This diff is collapsed.
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
/* config.h.in. Generated from configure.ac by autoheader. */
/* API version */
#undef API_VERSION
/* Path to Blue Obelisk Data Repository */
#undef BODR_PKGDATADIR
/* always defined to indicate that i18n is enabled */
#undef ENABLE_NLS
/* Define if Lasem is used */
#undef GCU_WITH_LASEM
/* Package name for internationalization */
#undef GETTEXT_PACKAGE
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#undef HAVE_BIND_TEXTDOMAIN_CODESET
/* Define to 1 if you have the `dcgettext' function. */
#undef HAVE_DCGETTEXT
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H