diff options
-rw-r--r-- | Makefile.am | 11 | ||||
-rw-r--r-- | ac_ctypes.m4 | 11 | ||||
-rw-r--r-- | ac_freezepython.m4 | 35 | ||||
-rw-r--r-- | ac_numarray.m4 | 11 | ||||
-rw-r--r-- | ac_numeric.m4 | 11 | ||||
-rw-r--r-- | ac_numpy.m4 | 11 | ||||
-rw-r--r-- | ac_pil.m4 | 11 | ||||
-rw-r--r-- | ac_pyopengl.m4 | 11 | ||||
-rw-r--r-- | ac_pyqt.m4 | 11 | ||||
-rw-r--r-- | ac_qt4.m4 | 259 | ||||
-rw-r--r-- | ac_utils.m4 | 148 | ||||
-rwxr-xr-x | bootstrap | 19 | ||||
-rw-r--r-- | cad/Makefile.am | 12 | ||||
-rw-r--r-- | cad/doc/Makefile.am | 9 | ||||
-rw-r--r-- | cad/partlib/Makefile.am | 14 | ||||
-rw-r--r-- | cad/plugins/DNA/Makefile.am | 11 | ||||
-rw-r--r-- | cad/plugins/Makefile.am | 3 | ||||
-rw-r--r-- | cad/src/Makefile.am | 77 | ||||
-rw-r--r-- | configure.ac | 103 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 15 | ||||
-rw-r--r-- | debian/copyright | 22 | ||||
-rw-r--r-- | debian/postinst | 43 | ||||
-rw-r--r-- | debian/postinst.in | 45 | ||||
-rwxr-xr-x | debian/rules | 112 | ||||
-rw-r--r-- | sim/Makefile.am | 3 | ||||
-rw-r--r-- | sim/src/Makefile.am | 57 |
28 files changed, 1082 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 000000000..50e969223 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,11 @@ + +#SUBDIRS = sim +SUBDIRS = cad sim + +deb-dist: dist + tar xzf NanoEngineer-$(PACKAGE_VERSION).tar.gz + cp -r debian NanoEngineer-$(PACKAGE_VERSION)/ + (cd NanoEngineer-$(PACKAGE_VERSION) && debuild --no-tgz-check -us -uc) \ + || exit 1 + rm -rf NanoEngineer-$(PACKAGE_VERSION) + diff --git a/ac_ctypes.m4 b/ac_ctypes.m4 new file mode 100644 index 000000000..f1109ff06 --- /dev/null +++ b/ac_ctypes.m4 @@ -0,0 +1,11 @@ + +# +# CHECK_CTYPES(DESIRED-VERSION) +# +AC_DEFUN([CHECK_CTYPES], [ + desired_version=$1 + + found_version=`python -c "import ctypes;print ctypes.__version__"` + CHECK_DESIRED_VERSION([ctypes], $desired_version, $found_version) +]) + diff --git a/ac_freezepython.m4 b/ac_freezepython.m4 new file mode 100644 index 000000000..2c50d8d84 --- /dev/null +++ b/ac_freezepython.m4 @@ -0,0 +1,35 @@ + +# +# CHECK_FREEZEPYTHON(DESIRED-VERSION) +# +AC_DEFUN([CHECK_FREEZEPYTHON], [ + desired_version=$1 + + if test -n "$FREEZEPYTHON"; then + + # Check version + found_version=`$FREEZEPYTHON --version` + found_version=`echo $found_version | \ + sed 's/FreezePython \([[0-9]]*.[[0-9]]*.[[0-9]]*\).*/\1/'` + CHECK_VERSION($found_version, $desired_version) + version_check=$CHECK_VERSION_RESULT + if test $version_check -lt 0; then + echo "*** FreezePython version $desired_version or later is required, but version $found_version " + echo "*** was found instead. Either update your FreezePython, or don't use the" + echo "*** --with-freezepython-prefix option." + exit -1 + elif test $version_check -gt 0; then + echo "### FreezePython version $found_version was found. That version may work, but the" + echo "### officially supported version is $desired_version." + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + echo "*** Strict library check failed. Either install the officially supported" + echo "*** version, or don't use the --enable-strict-library-check option." + exit -1 + fi + fi + else + echo "### We're not building an executable distribution nor freezing the app." + echo "### The --with-freezepython-prefix option was not specified." + fi +]) + diff --git a/ac_numarray.m4 b/ac_numarray.m4 new file mode 100644 index 000000000..a37d9a9fd --- /dev/null +++ b/ac_numarray.m4 @@ -0,0 +1,11 @@ + +# +# CHECK_NUMARRAY(DESIRED-VERSION) +# +AC_DEFUN([CHECK_NUMARRAY], [ + desired_version=$1 + + found_version=`python -c "from numarray import numinclude; print numinclude.version"` + CHECK_DESIRED_VERSION([numarray], $desired_version, $found_version) +]) + diff --git a/ac_numeric.m4 b/ac_numeric.m4 new file mode 100644 index 000000000..4666a4242 --- /dev/null +++ b/ac_numeric.m4 @@ -0,0 +1,11 @@ + +# +# CHECK_NUMERIC(DESIRED-VERSION) +# +AC_DEFUN([CHECK_NUMERIC], [ + desired_version=$1 + + found_version=`python -c "from numeric_version import version; print version"` + CHECK_DESIRED_VERSION([Numeric], $desired_version, $found_version) +]) + diff --git a/ac_numpy.m4 b/ac_numpy.m4 new file mode 100644 index 000000000..77cf52e85 --- /dev/null +++ b/ac_numpy.m4 @@ -0,0 +1,11 @@ + +# +# CHECK_NUMPY(DESIRED-VERSION) +# +AC_DEFUN([CHECK_NUMPY], [ + desired_version=$1 + + found_version=`python -c "from numpy import version; print version.version"` + CHECK_DESIRED_VERSION([NumPy], $desired_version, $found_version) +]) + diff --git a/ac_pil.m4 b/ac_pil.m4 new file mode 100644 index 000000000..7fbedb7b3 --- /dev/null +++ b/ac_pil.m4 @@ -0,0 +1,11 @@ + +# +# CHECK_PIL(DESIRED-VERSION) +# +AC_DEFUN([CHECK_PIL], [ + desired_version=$1 + + found_version=`python -c "from PIL import Image; print Image.VERSION"` + CHECK_DESIRED_VERSION([PIL], $desired_version, $found_version) +]) + diff --git a/ac_pyopengl.m4 b/ac_pyopengl.m4 new file mode 100644 index 000000000..6a618e8ca --- /dev/null +++ b/ac_pyopengl.m4 @@ -0,0 +1,11 @@ + +# +# CHECK_PYOPENGL(DESIRED-VERSION) +# +AC_DEFUN([CHECK_PYOPENGL], [ + desired_version=$1 + + found_version=`python -c "import OpenGL;print OpenGL.__version__"` + CHECK_DESIRED_VERSION([PyOpenGL], $desired_version, $found_version) +]) + diff --git a/ac_pyqt.m4 b/ac_pyqt.m4 new file mode 100644 index 000000000..f57ce3f9d --- /dev/null +++ b/ac_pyqt.m4 @@ -0,0 +1,11 @@ + +# +# CHECK_PYQT(DESIRED-VERSION) +# +AC_DEFUN([CHECK_PYQT], [ + desired_version=$1 + + found_version=`python -c "from PyQt4 import pyqtconfig; config = pyqtconfig.Configuration(); print config.pyqt_version_str"` + CHECK_DESIRED_VERSION([PyQt], $desired_version, $found_version) +]) + diff --git a/ac_qt4.m4 b/ac_qt4.m4 new file mode 100644 index 000000000..23171055b --- /dev/null +++ b/ac_qt4.m4 @@ -0,0 +1,259 @@ + +# +# CHECK_QT(DESIRED-QT-VERSION) +# +AC_DEFUN([CHECK_QT], [ + desired_version=$1 + + QT4_DO_IT_ALL + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + AC_MSG_CHECKING(for Qt version == $desired_version) + else + AC_MSG_CHECKING(for Qt version >= $desired_version) + fi + found_version=${QT4_VERSION} + + CHECK_VERSION($found_version, $desired_version) + version_check=$CHECK_VERSION_RESULT + if test $version_check -lt 0; then + AC_MSG_RESULT(no) + echo "*** Qt version $desired_version or later is required, but version $found_version " + echo "*** was found instead. Please update your Qt to version $desired_version." + exit -1 + elif test $version_check -gt 0; then + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(yes) + fi + echo "### Qt version $found_version was found. That version may work, but the" + echo "### officially supported version is $desired_version." + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + echo "*** Strict library check failed. Either install the officially supported" + echo "*** version, or don't use the --enable-strict-library-check option." + exit -1 + fi + else + AC_MSG_RESULT(yes) + fi +]) + +# +# The below was acquired from http://www.lyx.org/ +# No copyright information was found at the time. +# + +dnl check a particular libname +AC_DEFUN([QT4_TRY_LINK], +[ + SAVE_LIBS="$LIBS" + LIBS="$LIBS $1" + AC_TRY_LINK([ + #include <qglobal.h> + #include <qstring.h> + ], + [ + QString s("mangle_failure"); + #if (QT_VERSION < 400) + break_me_(\\\); + #endif + ], + qt4_cv_libname=$1, + ) + LIBS="$SAVE_LIBS" +]) + +dnl check we can do a compile +AC_DEFUN([QT4_CHECK_COMPILE], +[ + AC_MSG_CHECKING([for Qt 4 library name]) + + AC_CACHE_VAL(qt4_cv_libname, + [ + AC_LANG_CPLUSPLUS + SAVE_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS $QT4_INCLUDES $QT4_LDFLAGS" + for libname in -lQtCore -lQtCore4 + do + QT4_TRY_LINK($libname) + if test -n "$qt4_cv_libname"; then + QT4_CORE_LIB="$qt4_cv_libname" + break; + fi + done + qt4_cv_libname= + for libname in '-lQtCore -lQtGui' \ + '-lQtCore4 -lQtGui4' + do + QT4_TRY_LINK($libname) + if test -n "$qt4_cv_libname"; then + break; + fi + done + CXXFLAGS=$SAVE_CXXFLAGS + ]) + + if test -z "$qt4_cv_libname"; then + AC_MSG_RESULT([failed]) + if test "$FATAL" = 1 ; then + AC_MSG_ERROR([Cannot compile a simple Qt 4 executable. Check you have the right \$QT4DIR !]) + fi + else + AC_MSG_RESULT([$qt4_cv_libname]) + fi +]) + +dnl get Qt version we're using +AC_DEFUN([QT4_GET_VERSION], +[ + AC_CACHE_CHECK([Qt 4 version],lyx_cv_qt4version, + [ + AC_LANG_CPLUSPLUS + SAVE_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $QT4_INCLUDES" + + cat > conftest.$ac_ext <<EOF +#line __oline__ "configure" +#include "confdefs.h" +#include <qglobal.h> +"%%%"QT_VERSION_STR"%%%" +EOF + lyx_cv_qt4version=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \ + grep '^"%%%"' 2>/dev/null | \ + sed -e 's/"%%%"//g' -e 's/"//g'` + rm -f conftest.$ac_ext + CPPFLAGS=$SAVE_CPPFLAGS + ]) + + QT4_VERSION=$lyx_cv_qt4version + AC_SUBST(QT4_VERSION) +]) + +dnl start here +AC_DEFUN([QT4_DO_IT_ALL], +[ + dnl this variable is precious + AC_ARG_VAR(QT4DIR, [the place where the Qt 4 files are, e.g. /usr/lib/qt4]) + + dnl Please leave this alone. I use this file in + dnl oprofile. + FATAL=0 + + AC_ARG_WITH(qt4-dir, [ --with-qt4-dir where the root of Qt 4 is installed ], + [ qt4_cv_dir=`eval echo "$withval"/` ]) + + AC_ARG_WITH(qt4-includes, [ --with-qt4-includes where the Qt 4 includes are. ], + [ qt4_cv_includes=`eval echo "$withval"` ]) + + AC_ARG_WITH(qt4-libraries, [ --with-qt4-libraries where the Qt 4 library is installed.], + [ qt4_cv_libraries=`eval echo "$withval"` ]) + + dnl pay attention to $QT4DIR unless overridden + if test -z "$qt4_cv_dir"; then + qt4_cv_dir=$QT4DIR + fi + + dnl derive inc/lib if needed + if test -n "$qt4_cv_dir"; then + if test -z "$qt4_cv_includes"; then + qt4_cv_includes=$qt4_cv_dir/include + fi + if test -z "$qt4_cv_libraries"; then + qt4_cv_libraries=$qt4_cv_dir/lib + fi + fi + + dnl compute the binary dir too + if test -n "$qt4_cv_dir"; then + qt4_cv_bin=$qt4_cv_dir/bin + fi + + dnl Preprocessor flags + QT4_CPPFLAGS="-DQT_CLEAN_NAMESPACE -DQT_GENUINE_STR -DQT_NO_STL -DQT_NO_KEYWORDS" + case ${host} in + *mingw*) QT4_CPPFLAGS="-DQT_DLL $QT4_CPPFLAGS";; + *cygwin*) + if test "x$with_x" = xno ; then + QT4_CPPFLAGS="$QT4_CPPFLAGS -DQ_CYGWIN_WIN" + fi;; + esac + AC_SUBST(QT4_CPPFLAGS) + + dnl Check if it possible to do a pkg-config + PKG_PROG_PKG_CONFIG + if test -n "$PKG_CONFIG" ; then + QT4_DO_PKG_CONFIG + fi + if test "$pkg_failed" != "no" ; then + QT4_DO_MANUAL_CONFIG + fi + AC_PATH_PROGS(MOC4, [moc-qt4 moc],[],$qt4_cv_bin:$PATH) + AC_PATH_PROGS(UIC4, [uic-qt4 uic],[],$qt4_cv_bin:$PATH) +]) + +AC_DEFUN([QT4_DO_PKG_CONFIG], +[ + dnl tell pkg-config to look also in $qt4_cv_dir/lib. + save_PKG_CONFIG_PATH=$PKG_CONFIG_PATH + if test -n "$qt4_cv_dir" ; then + PKG_CONFIG_PATH=$qt4_cv_dir/lib:$qt4_cv_dir/lib/pkgconfig:$PKG_CONFIG_PATH + export PKG_CONFIG_PATH + fi + PKG_CHECK_MODULES(QT4_CORE, QtCore,,[:]) + if test "$pkg_failed" = "no" ; then + QT4_CORE_INCLUDES=$QT4_CORE_CFLAGS + AC_SUBST(QT4_CORE_INCLUDES) + QT4_CORE_LDFLAGS=`$PKG_CONFIG --libs-only-L QtCore` + AC_SUBST(QT4_CORE_LDFLAGS) + QT4_CORE_LIB=`$PKG_CONFIG --libs-only-l QtCore` + AC_SUBST(QT4_CORE_LIB) + fi + PKG_CHECK_MODULES(QT4_FRONTEND, QtCore QtGui,,[:]) + if test "$pkg_failed" = "no" ; then + QT4_INCLUDES=$QT4_FRONTEND_CFLAGS + dnl QT4_LDFLAGS=$QT4_FRONTEND_LIBS + QT4_LDFLAGS=`$PKG_CONFIG --libs-only-L QtCore QtGui` + AC_SUBST(QT4_INCLUDES) + AC_SUBST(QT4_LDFLAGS) + QT4_VERSION=`$PKG_CONFIG --modversion QtCore` + AC_SUBST(QT4_VERSION) + QT4_LIB=`$PKG_CONFIG --libs-only-l QtCore QtGui` + AC_SUBST(QT4_LIB) + LIBS="$LIBS `$PKG_CONFIG --libs-only-other QtCore QtGui`" + fi + PKG_CONFIG_PATH=$save_PKG_CONFIG_PATH +]) + +AC_DEFUN([QT4_DO_MANUAL_CONFIG], +[ + dnl flags for compilation + QT4_INCLUDES= + QT4_LDFLAGS= + QT4_CORE_INCLUDES= + QT4_CORE_LDFLAGS= + if test -n "$qt4_cv_includes"; then + QT4_INCLUDES="-I$qt4_cv_includes" + for i in Qt QtCore QtGui; do + QT4_INCLUDES="$QT4_INCLUDES -I$qt4_cv_includes/$i" + done + QT4_CORE_INCLUDES="-I$qt4_cv_includes -I$qt4_cv_includes/QtCore" + fi + if test -n "$qt4_cv_libraries"; then + QT4_LDFLAGS="-L$qt4_cv_libraries" + QT4_CORE_LDFLAGS="-L$qt4_cv_libraries" + fi + AC_SUBST(QT4_INCLUDES) + AC_SUBST(QT4_CORE_INCLUDES) + AC_SUBST(QT4_LDFLAGS) + AC_SUBST(QT4_CORE_LDFLAGS) + + QT4_CHECK_COMPILE + + QT4_LIB=$qt4_cv_libname; + AC_SUBST(QT4_LIB) + AC_SUBST(QT4_CORE_LIB) + + if test -n "$qt4_cv_libname"; then + QT4_GET_VERSION + fi +]) diff --git a/ac_utils.m4 b/ac_utils.m4 new file mode 100644 index 000000000..476367a93 --- /dev/null +++ b/ac_utils.m4 @@ -0,0 +1,148 @@ + +# +# CHECK_VERSION(FOUND-VERSION, MINIMUM-VERSION) +# +# Handles versions of the forms x.y and x.y.z where z can be lowercase letters +# and numbers. If z has letters, everything from the first letter to the end of +# the string is thrown out. +# +# Sets CHECK_VERSION_RESULT to 0 if the found- and minimum-versions are the +# same; to 1 if the found-version is later than the minimum-version; to -1 if +# the found-version is earlier than the minimum-version. +# +AC_DEFUN([CHECK_VERSION], [ + found_version=$1 + min_version=$2 + + # Determine if we're of the form x.y or x.y.z + form=`echo $min_version | sed 's/[[0-9]]*\.[[0-9]]*\.[[0-9a-z]]*/DOT_DOT/'` + + # Parse version strings + if test "$form" = "DOT_DOT"; then + found_major_version=`echo $found_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9a-z]]*\)/\1/'` + found_minor_version=`echo $found_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9a-z]]*\)/\2/'` + found_micro_version=`echo $found_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)[[0-9a-z]]*/\3/'` + min_major_version=`echo $min_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9a-z]]*\)/\1/'` + min_minor_version=`echo $min_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9a-z]]*\)/\2/'` + min_micro_version=`echo $min_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)[[0-9a-z]]*/\3/'` + else + found_major_version=`echo $found_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` + found_minor_version=`echo $found_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` + found_micro_version=0 + min_major_version=`echo $min_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` + min_minor_version=`echo $min_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` + min_micro_version=0 + fi + + # Compare versions + if test $found_major_version -eq $min_major_version && \ + test $found_minor_version -eq $min_minor_version && \ + test $found_micro_version -eq $min_micro_version; then + version_result=0 + else + version_result=-1 + if test $found_major_version -gt $min_major_version; then + version_result=1 + elif test $found_major_version -eq $min_major_version && \ + test $found_minor_version -gt $min_minor_version; then + version_result=1 + elif test $found_major_version -eq $min_major_version && \ + test $found_minor_version -eq $min_minor_version && \ + test $found_micro_version -ge $min_micro_version; then + version_result=1 + fi + fi + + AC_SUBST(CHECK_VERSION_RESULT, $version_result) +]) + + +# +# CHECK_DESIRED_VERSION(LIBRARY-NAME, DESIRED-VERSION, FOUND-VERSION) +# +AC_DEFUN([CHECK_DESIRED_VERSION], [ + library_name=$1 + desired_version=$2 + found_version=$3 + + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + AC_MSG_CHECKING(for $library_name version == $desired_version) + else + AC_MSG_CHECKING(for $library_name version >= $desired_version) + fi + + CHECK_VERSION($found_version, $desired_version) + version_check=$CHECK_VERSION_RESULT + if test $version_check -lt 0; then + AC_MSG_RESULT(no) + echo "*** $library_name version $desired_version or later is required, but version $found_version " + echo "*** was found instead. Please update your $library_name to version $desired_version." + exit -1 + elif test $version_check -gt 0; then + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(yes) + fi + echo "### $library_name version $found_version was found. That version may work, but the" + echo "### officially supported version is $desired_version." + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + echo "*** Strict library check failed. Either install the officially supported" + echo "*** version, or don't use the --enable-strict-library-check option." + exit -1 + fi + else + AC_MSG_RESULT(yes) + fi +]) + + +# +# CHECK_DESIRED_VERSION(LIBRARY-NAME, DESIRED-VERSION, FOUND-VERSION) +# +AC_DEFUN([CHECK_DESIRED_VERSION], [ + library_name=$1 + desired_version=$2 + found_version=$3 + + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + AC_MSG_CHECKING(for $library_name version == $desired_version) + else + AC_MSG_CHECKING(for $library_name version >= $desired_version) + fi + + CHECK_VERSION($found_version, $desired_version) + version_check=$CHECK_VERSION_RESULT + if test $version_check -lt 0; then + AC_MSG_RESULT(no) + echo "*** $library_name version $desired_version or later is required, but version $found_version " + echo "*** was found instead. Please update your $library_name to version $desired_version." + exit -1 + elif test $version_check -gt 0; then + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(yes) + fi + echo "### $library_name version $found_version was found. That version may work, but the" + echo "### officially supported version is $desired_version." + if test "$STRICT_LIBRARY_CHECK" = "yes"; then + echo "*** Strict library check failed. Either install the officially supported" + echo "*** version, or don't use the --enable-strict-library-check option." + exit -1 + fi + else + AC_MSG_RESULT(yes) + fi +]) + diff --git a/bootstrap b/bootstrap new file mode 100755 index 000000000..8880beb4e --- /dev/null +++ b/bootstrap @@ -0,0 +1,19 @@ +#!/bin/sh + +cat ./ac_utils.m4 > ./acinclude.m4 +cat ./ac_freezepython.m4 >> ./acinclude.m4 +cat ./ac_qt4.m4 >> ./acinclude.m4 +cat ./ac_pyqt.m4 >> ./acinclude.m4 +cat ./ac_numarray.m4 >> ./acinclude.m4 +cat ./ac_numeric.m4 >> ./acinclude.m4 +cat ./ac_numpy.m4 >> ./acinclude.m4 +cat ./ac_ctypes.m4 >> ./acinclude.m4 +cat ./ac_pyopengl.m4 >> ./acinclude.m4 +cat ./ac_pil.m4 >> ./acinclude.m4 + +aclocal +autoheader +libtoolize --force +automake --foreign --add-missing --copy +autoconf + diff --git a/cad/Makefile.am b/cad/Makefile.am new file mode 100644 index 000000000..5c7bcf827 --- /dev/null +++ b/cad/Makefile.am @@ -0,0 +1,12 @@ + +SUBDIRS = src doc partlib plugins + +install-exec-hook: + @echo Installing license files... + cp -R Licenses $(pkgdatadir)-$(PACKAGE_VERSION)/ + +dist-hook: + mkdir $(distdir)/Licenses + cp src/LICENSE $(distdir)/Licenses/ + cp licenses-common/NanoKids_Attribution $(distdir)/Licenses/ + diff --git a/cad/doc/Makefile.am b/cad/doc/Makefile.am new file mode 100644 index 000000000..635096055 --- /dev/null +++ b/cad/doc/Makefile.am @@ -0,0 +1,9 @@ + +EXTRA_DIST = keyboardshortcuts.htm mousecontrols.htm + +install-exec-hook: + @echo Copying the UI documentation files... + mkdir -p $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/doc + cp keyboardshortcuts.htm $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/doc/ + cp mousecontrols.htm $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/doc/ + diff --git a/cad/partlib/Makefile.am b/cad/partlib/Makefile.am new file mode 100644 index 000000000..1e3211dc7 --- /dev/null +++ b/cad/partlib/Makefile.am @@ -0,0 +1,14 @@ + +install-exec-hook: + @echo Installing partlib... + mkdir -p $(pkgdatadir)-$(PACKAGE_VERSION)/partlib + cp -R * $(pkgdatadir)-$(PACKAGE_VERSION)/partlib/ + ln -s $(pkgdatadir)-$(PACKAGE_VERSION)/partlib $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/partlib + +dist-hook: + cp -R * $(distdir)/ + rm $(distdir)/Makefile + rm -rf $(distdir)/.svn + rm -rf $(distdir)/*/.svn + rm -rf $(distdir)/*/*/.svn + diff --git a/cad/plugins/DNA/Makefile.am b/cad/plugins/DNA/Makefile.am new file mode 100644 index 000000000..a5a832dce --- /dev/null +++ b/cad/plugins/DNA/Makefile.am @@ -0,0 +1,11 @@ + +install-exec-hook: + @echo Installing DNA Generator plugin... + mkdir -p $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/plugins/DNA + cp -R * $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/plugins/DNA/ + +dist-hook: + cp -R * $(distdir)/ + rm $(distdir)/Makefile + rm -rf `find $(distdir) -name .svn` + diff --git a/cad/plugins/Makefile.am b/cad/plugins/Makefile.am new file mode 100644 index 000000000..70c329d53 --- /dev/null +++ b/cad/plugins/Makefile.am @@ -0,0 +1,3 @@ + +SUBDIRS = DNA + diff --git a/cad/src/Makefile.am b/cad/src/Makefile.am new file mode 100644 index 000000000..fa1115e96 --- /dev/null +++ b/cad/src/Makefile.am @@ -0,0 +1,77 @@ + +all: +if RUN_FREEZEPYTHON + @echo Freezing NanoEngineer-1... + $(FREEZEPYTHON) --install-dir dist --target-name=NanoEngineer-1 \ + --include-modules sip,dbhash main.py +else + @echo Byte-compiling NanoEngineer-1... + python -c "import compileall; compileall.compile_dir('.')" + +endif + +install-exec-hook: + mkdir -p $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/program + +if RUN_FREEZEPYTHON + @echo Installing the frozen NanoEngineer-1... + cp -r dist/* $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/program/ + echo '#!/bin/sh' > $(bindir)/NanoEngineer-$(PACKAGE_VERSION) + echo $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/program/NanoEngineer-1 >> $(bindir)/NanoEngineer-$(PACKAGE_VERSION) +else + @echo Installing byte-compiled NanoEngineer-1... + cp *.pyc $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/program/ + mkdir -p $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/program/exprs + cp exprs/*.pyc $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/program/exprs/ + mkdir -p $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/program/PM + cp PM/*.pyc $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/program/PM/ + echo '#!/bin/sh' > $(bindir)/NanoEngineer-$(PACKAGE_VERSION) + echo python $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/program/main.pyc >> $(bindir)/NanoEngineer-$(PACKAGE_VERSION) +endif + chmod 755 $(bindir)/NanoEngineer-$(PACKAGE_VERSION) + pushd $(bindir) && rm -f NanoEngineer-1 + pushd $(bindir) && ln -s NanoEngineer-$(PACKAGE_VERSION) NanoEngineer-1 +# rm -f $(bindir)/NanoEngineer-1 +# ln -s $(bindir)/NanoEngineer-$(PACKAGE_VERSION) $(bindir)/NanoEngineer-1 + + @echo Copying the GAMESS helper script... + mkdir -p $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/bin + cp rungms $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/bin/ + + @echo Copying images... + mkdir -p $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/src + cp -R ui $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/src/ + + @echo Copying ReadMe.html... + mkdir -p $(pkgdatadir)-$(PACKAGE_VERSION) + cp ReadMe.html $(pkgdatadir)-$(PACKAGE_VERSION)/ + +EXTRA_DIST = ReadMe.html rungms + +dist-hook: + cp -R *.py $(distdir)/ + cp -R exprs $(distdir)/ + cp -R PM $(distdir)/ + mkdir -p $(distdir)/ui/actions + cp -R ui/actions/Edit $(distdir)/ui/actions/ + cp -R ui/actions/File $(distdir)/ui/actions/ + cp -R ui/actions/Help $(distdir)/ui/actions/ + cp -R ui/actions/Insert $(distdir)/ui/actions/ + cp -R ui/actions/Properties\ Manager $(distdir)/ui/actions/ + cp -R ui/actions/Simulation $(distdir)/ui/actions/ + cp -R ui/actions/Toolbars $(distdir)/ui/actions/ + cp -R ui/actions/Tools $(distdir)/ui/actions/ + cp -R ui/actions/View $(distdir)/ui/actions/ + cp -R ui/border $(distdir)/ui/ + cp -R ui/confcorner $(distdir)/ui/ + cp -R ui/cursors $(distdir)/ui/ + cp -R ui/dialogs $(distdir)/ui/ + cp -R ui/exprs $(distdir)/ui/ + cp -R ui/images $(distdir)/ui/ + cp -R ui/modeltree $(distdir)/ui/ + rm -rf `find $(distdir) -name .svn` + rm -rf $(distdir)/*/.svn + rm -rf $(distdir)/*/*/.svn + rm -rf $(distdir)/*/*/*/.svn + rm -rf $(distdir)/*/*/*/*/.svn + diff --git a/configure.ac b/configure.ac new file mode 100644 index 000000000..0bbd719ec --- /dev/null +++ b/configure.ac @@ -0,0 +1,103 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.61) + +# Autoconf composes the distribution filename like: 4thArg-2ndArg, but we want +# an underscore between the NanoEngineer-1 and its version. The following line +# looks strange but gets us what we want. +AC_INIT(NanoEngineer, 1_0.9.2, support@nanorex.com, NanoEngineer) + +AM_INIT_AUTOMAKE +AC_COPYRIGHT([Copyright 2007 Nanorex, Inc. See LICENSE file for details.]) +AC_CONFIG_SRCDIR([cad/src/NE1ToolBar.py]) +AC_CONFIG_HEADER([config.h]) + +# Checks for programs. +AM_PATH_PYTHON([2.3]) +AC_SUBST(PYTHON_BASE, "$(echo ${PYTHON} | sed "s%/bin/python%%")") +AC_PATH_PROG(PYREXC, pyrexc) +AC_PROG_CXX +AC_PROG_CC +AC_PROG_LIBTOOL +AC_PROG_INSTALL +AC_PROG_LN_S + +# +# Check strictness option +# +AC_ARG_ENABLE(strict-library-check, + AC_HELP_STRING([--enable-strict-library-check], + [fail if non-officially-supported libraries are found])) +if test "$enable_strict_library_check" = "yes"; then + AC_SUBST(STRICT_LIBRARY_CHECK, "yes") + echo "### Strict library checking is on." +else + AC_SUBST(STRICT_LIBRARY_CHECK, "no") +fi + + +# +# Check if we're freezing the code +# +AC_ARG_WITH(freezepython-prefix, + AC_HELP_STRING([--with-freezepython-prefix=PREFIX], + [find FreezePython installed under PREFIX]), + freezepython_prefix="$withval", freezepython_prefix="") +if test -n "$freezepython_prefix"; then + AC_SUBST(FREEZEPYTHON, "$freezepython_prefix/FreezePython") +fi +AM_CONDITIONAL([RUN_FREEZEPYTHON], [test -n "$freezepython_prefix"]) + + +# Checks for libraries. +CHECK_FREEZEPYTHON([3.0.3]) +CHECK_QT([4.2.3]) +CHECK_PYQT([4.2]) +CHECK_NUMARRAY([1.5.2]) +CHECK_NUMERIC([23.8]) +CHECK_NUMPY([1.0.2]) +CHECK_CTYPES([1.0.2]) +CHECK_PYOPENGL([3.0.0a6]) +CHECK_PIL([1.1.6]) + +# Checks for header files. +#AC_HEADER_STDC +#AC_CHECK_HEADERS([limits.h stdlib.h string.h sys/time.h unistd.h]) + +# Checks for typedefs, structures, and compiler characteristics. +#AC_C_CONST +#AC_HEADER_STDBOOL +#AC_C_INLINE +#AC_C_RESTRICT +#AC_HEADER_TIME +#AC_STRUCT_TM +#AC_C_VOLATILE + +# Checks for library functions. +#AC_FUNC_MALLOC +#AC_FUNC_MEMCMP +#AC_HEADER_MAJOR +#AC_FUNC_REALLOC +#AC_FUNC_SELECT_ARGTYPES +#AC_TYPE_SIGNAL +#AC_FUNC_STAT +#AC_FUNC_STRTOD +#AC_FUNC_VPRINTF +#AC_CHECK_FUNCS([clock_gettime gettimeofday memmove memset pow select sqrt strcasecmp strerror strncasecmp strtol]) + +# Miscellaneous +AC_SUBST(UNAME_A, "$(uname -a)") + +AC_CONFIG_FILES([Makefile + cad/Makefile + cad/doc/Makefile + cad/src/Makefile + cad/partlib/Makefile + cad/plugins/Makefile + cad/plugins/DNA/Makefile + debian/postinst + sim/Makefile + sim/src/Makefile]) +AC_OUTPUT + diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..d733a07de --- /dev/null +++ b/debian/changelog @@ -0,0 +1,6 @@ +nanoengineer-1 (0.9.2-0) unstable; urgency=low + + * Initial release. + + -- Brian Helfrich <bh@smack-ubuntu> Thu, 13 Sep 2007 16:56:15 -0400 + diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..3001404a6 --- /dev/null +++ b/debian/control @@ -0,0 +1,15 @@ +Source: nanoengineer-1 +Section: science +Priority: extra +Maintainer: Brian Helfrich <helfrich@nanorex.com> +Build-Depends: debhelper (>= 5), autotools-dev +Standards-Version: 3.7.2 + +Package: nanoengineer-1 +Section: science +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libgle3 +Description: NanoEngineer-1 60-char description. + Long NanoEngineer-1 description, with each new line indented with spaces; + like this. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..1043f9887 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,22 @@ +This package was debianized by Brian Helfrich <helfrich@nanorex.com> on +Thu, 13 Sep 2007 13:46:58 -0400. + +It was downloaded from http://www.nanorex.com/ + +Upstream Author: Brian Helfrich <helfrich@nanorex.com> + +Copyright 2007 Nanorex, Inc. + +You are free to distribute this software under the terms of +the GNU General Public License either version 2 of the License, +or (at your option) any later version. +On Debian systems, the complete text of the GNU General Public +License can be found in the file `/usr/share/common-licenses/GPL-2'. + +The Debian packaging is (C) 2007, Brian Helfrich <helfrich@nanorex.com> and +is licensed under the GPL, see `/usr/share/common-licenses/GPL'. + + +# Please also look if there are files or directories which have a +# different copyright/license attached and list them here. + diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 000000000..87bfbc6f5 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,43 @@ +#!/bin/sh +# postinst script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <postinst> `abort-remove' +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + rm -f /usr/bin/NanoEngineer-1_0.9.2.app/partlib + ln -s /usr/share/NanoEngineer-1_0.9.2/partlib /usr/bin/NanoEngineer-1_0.9.2.app/partlib + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/debian/postinst.in b/debian/postinst.in new file mode 100644 index 000000000..f063a0ccc --- /dev/null +++ b/debian/postinst.in @@ -0,0 +1,45 @@ +#!/bin/sh +# postinst script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <postinst> `abort-remove' +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + rm -f /usr/bin/NanoEngineer-@PACKAGE_VERSION@.app/partlib + ln -s /usr/share/NanoEngineer-@PACKAGE_VERSION@/partlib /usr/bin/NanoEngineer-@PACKAGE_VERSION@.app/partlib + echo '#!/bin/sh' > /usr/bin/NanoEngineer-$(PACKAGE_VERSION) + echo /usr/bin/NanoEngineer-$(PACKAGE_VERSION).app/program/NanoEngineer-1 >> /usr/bin/NanoEngineer-$(PACKAGE_VERSION) + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..a1ac2bf86 --- /dev/null +++ b/debian/rules @@ -0,0 +1,112 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + + +CFLAGS = -Wall -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +config.status: configure + dh_testdir + # Add here commands to configure the package. + ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs" --with-freezepython-prefix=/home/bh/11Transfers/BuildMeister/cx_Freeze-3.0.3 + + +build: build-stamp + +build-stamp: config.status + dh_testdir + + # Add here commands to compile the package. + $(MAKE) + #docbook-to-man debian/nanoengineer-1.sgml > nanoengineer-1.1 + + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + + # Add here commands to clean up after the build process. + -$(MAKE) distclean +ifneq "$(wildcard /usr/share/misc/config.sub)" "" + cp -f /usr/share/misc/config.sub config.sub +endif +ifneq "$(wildcard /usr/share/misc/config.guess)" "" + cp -f /usr/share/misc/config.guess config.guess +endif + + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/nanoengineer-1. + $(MAKE) prefix=$(CURDIR)/debian/nanoengineer-1/usr install + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_installexamples +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_python +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman + dh_link + + # We exclude NanoEngineer-1 because it's already relocatable from the + # freezing. We exclude the mmp files because some of the partlib filenames + # mess up the dh_strip script (eg, -OCH.mmp, etc.) + dh_strip --exclude=NanoEngineer-1 --exclude=mmp + + dh_compress + dh_fixperms +# dh_perl +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install diff --git a/sim/Makefile.am b/sim/Makefile.am new file mode 100644 index 000000000..6b75694e5 --- /dev/null +++ b/sim/Makefile.am @@ -0,0 +1,3 @@ + +SUBDIRS = src + diff --git a/sim/src/Makefile.am b/sim/src/Makefile.am new file mode 100644 index 000000000..ca34a5949 --- /dev/null +++ b/sim/src/Makefile.am @@ -0,0 +1,57 @@ + +INCLUDES = -I@PYTHON_BASE@/include/python${PYTHON_VERSION} +CFLAGS = $(shell python distutils_compile_options.py compiler_so) + +ne1bindir = $(bindir)/NanoEngineer-$(PACKAGE_VERSION).app/bin +ne1bin_LTLIBRARIES = sim.la + +sim_la_LIBADD = \ + -L@PYTHON_BASE@/lib/python$(PYTHON_VERSION)/config \ + -lm \ + -lpython$(PYTHON_VERSION) \ + libstructcompare.a +sim_la_LDFLAGS = -module + +sim_la_SOURCES = \ + allocate.c allocate.h \ + debug.h \ + dynamics.c dynamics.h \ + globals.c globals.h \ + hashtable.c hashtable.h \ + interpolate.c interpolate.h \ + jigs.c jigs.h \ + lin-alg.c lin-alg.h \ + minimize.c minimize.h \ + minstructure.c minstructure.h \ + newtables.c newtables.h \ + part.c part.h \ + potential.c potential.h \ + printers.c printers.h \ + readmmp.c readmmp.h \ + readxyz.c readxyz.h \ + rigid.c rigid.h \ + rigid-ode.c rigid-ode.h \ + structcompare.c structcompare.h \ + writemovie.c writemovie.h \ + sim.c + +# -std-c99 gets us isnormal() +noinst_LIBRARIES = libstructcompare.a +libstructcompare_a_SOURCES = structcompare.c simulator.h +libstructcompare_a_CFLAGS = -std=c99 + +BUILT_SOURCES = bonds.gen bends.gen version.h sim.c +bonds.gen: stretch.py stretch.parms + python stretch.py stretch.parms > bonds.gen +bends.gen: bend.py bending.parms + python bend.py bending.parms > bends.gen +version.h: + python makehelp.py "$(CFLAGS)" "$(LDFLAGS)" "@UNAME_A@" \ + | grep -v "^running " > version.h +sim.c: sim.pyx simhelp.c + @PYREXC@ sim.pyx + +EXTRA_DIST = \ + stretch.py stretch.parms bend.py bending.parms makehelp.py sim.pyx \ + simhelp.c distutils_compile_options.py + |