slackbuilds_ponce/academic/metis/autotoolize.diff
Kyle Guinn 2783a26a39 academic/metis: Fix potential linking problems.
_LARGEFILE64_SOURCE should be unnecessary.  _FILE_OFFSET_BITS=64
does the real work to link to the 64-bit functions.

Don't abuse libtool's -version-info to make the library version
match the package version.  These do not necessarily correspond.

Remove the .la files; these are causing libtool to overlink.  This
should save you from needlessly rebuilding some dependent packages
in the future.

Signed-off-by: Kyle Guinn <elyk03@gmail.com>
2015-06-14 07:55:32 +07:00

199 lines
4.2 KiB
Diff

diff --git a/Doc/Makefile.am b/Doc/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Doc/Makefile.am
@@ -0,0 +1,5 @@
+dist_noinst_DATA = manual.ps
+dist_pdf_DATA = manual.pdf
+
+%.pdf: %.ps
+ ps2pdf $<
diff --git a/Graphs/Makefile.am b/Graphs/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Graphs/Makefile.am
@@ -0,0 +1,2 @@
+EXTRA_DIST = 0README
+dist_noinst_DATA = 4elt.graph 4elt.graph.part.10 metis.mesh test.mgraph
diff --git a/Lib/Makefile.am b/Lib/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Lib/Makefile.am
@@ -0,0 +1,61 @@
+pkgincludedir = $(includedir)/metis
+pkginclude_HEADERS = defs.h macros.h metis.h proto.h rename.h struct.h
+
+SRC = \
+ balance.c \
+ bucketsort.c \
+ ccgraph.c \
+ coarsen.c \
+ compress.c \
+ debug.c \
+ estmem.c \
+ fm.c \
+ fortran.c \
+ frename.c \
+ graph.c \
+ initpart.c \
+ kmetis.c \
+ kvmetis.c \
+ kwayfm.c \
+ kwayrefine.c \
+ kwayvolfm.c \
+ kwayvolrefine.c \
+ match.c \
+ mbalance.c \
+ mbalance2.c \
+ mcoarsen.c \
+ memory.c \
+ mesh.c \
+ meshpart.c \
+ mfm.c \
+ mfm2.c \
+ mincover.c \
+ minitpart.c \
+ minitpart2.c \
+ mkmetis.c \
+ mkwayfmh.c \
+ mkwayrefine.c \
+ mmatch.c \
+ mmd.c \
+ mpmetis.c \
+ mrefine.c \
+ mrefine2.c \
+ mutil.c \
+ myqsort.c \
+ ometis.c \
+ parmetis.c \
+ pmetis.c \
+ pqueue.c \
+ refine.c \
+ separator.c \
+ sfm.c \
+ srefine.c \
+ stat.c \
+ subdomains.c \
+ timing.c \
+ util.c
+
+lib_LTLIBRARIES = libmetis.la
+libmetis_la_SOURCES = $(SRC)
+libmetis_la_LIBADD = -lm
+libmetis_la_LDFLAGS = -no-undefined -release $(PACKAGE_VERSION)
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,5 @@
+SUBDIRS = Lib Programs Graphs Test Doc
+EXTRA_DIST = CHANGES FILES INSTALL LICENSE VERSION
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = metis.pc
diff --git a/Programs/Makefile.am b/Programs/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Programs/Makefile.am
@@ -0,0 +1,23 @@
+AM_CPPFLAGS = -I$(top_srcdir)/Lib
+LDADD = $(top_builddir)/Lib/libmetis.la
+
+bin_PROGRAMS = \
+ pmetis \
+ kmetis \
+ oemetis \
+ onmetis \
+ mesh2dual \
+ mesh2nodal \
+ partdmesh \
+ partnmesh \
+ graphchk
+
+pmetis_SOURCES = pmetis.c io.c
+kmetis_SOURCES = kmetis.c io.c
+oemetis_SOURCES = oemetis.c io.c smbfactor.c
+onmetis_SOURCES = onmetis.c io.c smbfactor.c
+mesh2dual_SOURCES = mesh2dual.c io.c
+mesh2nodal_SOURCES = mesh2nodal.c io.c
+partdmesh_SOURCES = partdmesh.c io.c
+partnmesh_SOURCES = partnmesh.c io.c
+graphchk_SOURCES = graphchk.c io.c
diff --git a/Test/Makefile.am b/Test/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Test/Makefile.am
@@ -0,0 +1,11 @@
+AM_CPPFLAGS = -I$(top_srcdir)/Lib
+LDADD = $(top_builddir)/Lib/libmetis.la
+
+check_PROGRAMS = mtest
+mtest_SOURCES = mtest.c ../Programs/io.c
+
+GRAPHS = \
+ ../Graphs/4elt.graph
+
+check-local: $(check_PROGRAMS) $(GRAPHS)
+ -./mtest ../Graphs/4elt.graph
diff --git a/configure.ac b/configure.ac
new file mode 100644
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,40 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.69])
+AC_INIT([METIS],[4.0.3],[karypis@cs.umn.edu],[metis],[http://glaros.dtc.umn.edu/gkhome/metis/metis/overview])
+AC_CONFIG_SRCDIR([Lib/metis.h])
+AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE([foreign])
+LT_INIT
+
+# Checks for programs.
+AC_PROG_INSTALL
+AC_PROG_CC
+
+LIBS_SAVED=$LIBS
+
+# Checks for libraries.
+AC_CHECK_LIB([m], [sqrt])
+
+# Checks for header files.
+AC_CHECK_HEADERS([malloc.h stdlib.h string.h strings.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+
+# Checks for library functions.
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([pow sqrt strtol])
+
+LIBS=$LIBS_SAVED
+
+AC_CONFIG_FILES([
+ metis.pc
+ Makefile
+ Doc/Makefile
+ Graphs/Makefile
+ Lib/Makefile
+ Programs/Makefile
+ Test/Makefile])
+AC_OUTPUT
diff --git a/metis.pc.in b/metis.pc.in
new file mode 100644
--- /dev/null
+++ b/metis.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: @PACKAGE_NAME@
+Description: Software for partitioning unstructured graphs and meshes
+Version: @PACKAGE_VERSION@
+URL: @PACKAGE_URL@
+Libs: -L${libdir} -lmetis
+Libs.private: -lm
+Cflags: -I${includedir}/metis