Skip to content

Commit e36a585

Browse files
committed
Change to using the build system in OpenSourceTables
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@15791 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent 1128d99 commit e36a585

File tree

3 files changed

+23
-71
lines changed

3 files changed

+23
-71
lines changed

SimulationRuntime/c/ModelicaExternalC/Makefile.common

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,27 @@
77
AR = ar -ru
88

99
MOEXTC_OBJS = ModelicaInternal.o ModelicaStrings.o ModelicaTablesImpl.o tables.o
10-
TABLESOURCEDIR = ../../../libraries/OpenSourceTables/Modelica/NewTables/Resources/C-Sources
10+
TABLEBUILDDIR = ../../../libraries/OpenSourceTables/unix
1111
builddir = ../../../build
12-
TABLEOBJS = ModelicaTables.o ModelicaMatIO.o
1312

14-
all: libModelicaExternalC.a $(LIBMODELICATABLES)
15-
16-
ModelicaTables.o : $(TABLESOURCEDIR)/ModelicaTables.c
17-
$(CC) $(CPPFLAGS) $(TABLESCPPFLAGS) $(CFLAGS) -o $@ -c $<
18-
ModelicaMatIO.o : $(TABLESOURCEDIR)/ModelicaMatIO.c
19-
$(CC) $(CPPFLAGS) $(TABLESCPPFLAGS) $(CFLAGS) -o $@ -c $<
20-
21-
libModelicaTables.a : $(TABLEOBJS)
22-
@rm -f $@
23-
$(AR) $@ $(TABLEOBJS)
24-
ranlib $@
13+
all: libModelicaExternalC.a ModelicaTables
2514

15+
ModelicaTables : $(TABLEBUILDDIR)/Makefile
16+
$(MAKE) -C $(TABLEBUILDDIR)
17+
$(TABLEBUILDDIR)/Makefile : $(TABLEBUILDDIR)/configure $(REGEN)
18+
cd $(TABLEBUILDDIR) && ./configure CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="-Wno-unused-result $(CPPFLAGS)"
19+
make -C $(TABLEBUILDDIR) clean
20+
$(TABLEBUILDDIR)/configure : $(TABLEBUILDDIR)/autogen.sh
21+
cd $(TABLEBUILDDIR) && ./autogen.sh
22+
2623
libModelicaExternalC.a : $(MOEXTC_OBJS)
2724
@rm -f $@
2825
$(AR) $@ $(MOEXTC_OBJS)
2926
ranlib $@
3027

31-
install : all
32-
cp libModelicaExternalC.a $(LIBMODELICATABLES) $(builddir)/lib/omc
28+
install : all ModelicaTables
29+
cp libModelicaExternalC.a $(builddir)/lib/omc
30+
cp -Pp $(TABLEBUILDDIR)/.libs/$(MODELICATABLES) $(builddir)/lib/omc
3331
clean:
3432
rm -f libModelicaExternalC.a $(MOEXTC_OBJS) $(TABLEOBJS)
35-
33+
(! test -f $(TABLEBUILDDIR)/Makefile) || make -C $(TABLEBUILDDIR) clean

SimulationRuntime/c/ModelicaExternalC/Makefile.in

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,12 @@
66

77
CC = @CC@
88
CXX = @CXX@
9-
CFLAGS = @CFLAGS@ -I../util -Wno-unused-result
9+
CFLAGS = @CFLAGS@ -I../util
1010
CPPFLAGS = @CPPFLAGS@ -I.. -Dlinux
11-
TABLESCPPFLAGS = @LIBMODELICATABLESCPPFLAGS@
12-
TABLESLDFLAGS = @LIBMODELICATABLESLDFLAGS@
13-
14-
LIBMODELICATABLES = @LIBMODELICATABLES@
11+
REGEN = Makefile.in
12+
MODELICATABLES = libModelicaTables@SHREXT@*
1513

1614
include Makefile.common
1715

18-
libModelicaTables.so : $(TABLEOBJS)
19-
$(CC) -o $@ -shared $(TABLEOBJS) $(LDFLAGS) $(TABLESLDFLAGS)
20-
2116
Makefile: Makefile.in
2217
cd ../../../; ./config.status

configure.in

Lines changed: 6 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
dnl Process this file with autoconf to produce a configure script.
22

33
AC_PREREQ([2.63])
4-
AC_INIT(SimulationRuntime/c/util/boolean_array.c)
4+
AC_INIT([OpenModelica],[dev],[https://trac.modelica.org/Modelica],[openmodelica],[https://trac.openmodelica.org/OpenModelica])
55
AC_SUBST(date)
66
AC_SUBST(rmlc_bin)
77
AC_SUBST(rmlhome)
@@ -58,9 +58,7 @@ AC_SUBST(LIBGC)
5858
AC_SUBST(LIBSIMULATION)
5959
AC_SUBST(LIBRUNTIME)
6060
AC_SUBST(LIBFMIRUNTIME)
61-
AC_SUBST(LIBMODELICATABLESCPPFLAGS)
62-
AC_SUBST(LIBMODELICATABLESLDFLAGS)
63-
AC_SUBST(LIBMODELICATABLES)
61+
AC_SUBST(SHREXT)
6462

6563
FINAL_MESSAGES="\nConfigured OpenModelica successfully using the following options:"
6664

@@ -77,6 +75,7 @@ AC_PREFIX_DEFAULT($PREFIX)
7775
prefix=$PREFIX
7876

7977
dnl Checks for programs.
78+
AC_LANG([C])
8079
AC_PROG_CC
8180
AC_PROG_CXX
8281
AC_PROG_CPP
@@ -381,44 +380,6 @@ AC_TRY_LINK([
381380
[AC_MSG_ERROR([no])])
382381
])
383382

384-
LIBS="-lz -lhdf5 -lm"
385-
386-
CPPFLAGS_BAK=$CPPFLAGS
387-
ZLIB=1
388-
HDF5=1
389-
MPI_CPPFLAGS=""
390-
AC_MSG_CHECKING([hdf5.h])
391-
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[#include <hdf5.h>]],[])],AC_MSG_RESULT([OK]),[
392-
MPI_CPPFLAGS=`OMPI_CC=$CC mpicc -showme:compile`
393-
CPPFLAGS="$CPPFLAGS $MPI_CPPFLAGS"
394-
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[#include <hdf5.h>]],[])],AC_MSG_RESULT([[OK, needs mpi.h]]),[HDF5="";AC_MSG_RESULT([failed])])
395-
])
396-
CPPFLAGS=$CPPFLAGS_BAK
397-
AC_CHECK_HEADERS(zlib.h,[],[ZLIB=""])
398-
399-
if test -z "$HDF5" || test -z "$ZLIB"; then
400-
WITH_HDF5=no
401-
else
402-
403-
AC_MSG_CHECKING([hdf5 linking])
404-
AC_LINK_IFELSE([AC_LANG_CALL([], [H5Fopen])],
405-
[AC_MSG_RESULT([ok]); WITH_HDF5="yes"],
406-
[AC_MSG_RESULT([failed to link H5Fopen]); WITH_HDF5="no"])
407-
408-
fi
409-
410-
if test "$WITH_HDF5" = "yes"; then
411-
FINAL_MESSAGES="$FINAL_MESSAGES\nModelica Tables may use HDF5,ZLIB,MAT 7.3: Yes"
412-
LIBMODELICATABLES=libModelicaTables.so
413-
LIBMODELICATABLESCPPFLAGS="-DHAVE_HDF5=1 -DMAT73=1 -DHAVE_ZLIB=1 -DDUMMY_FUNCTION_USERTAB $MPI_CPPFLAGS"
414-
LIBMODELICATABLESLDFLAGS="$LIBS"
415-
else
416-
FINAL_MESSAGES="$FINAL_MESSAGES\nModelica Tables may use HDF5,ZLIB,MAT 7.3: No"
417-
LIBMODELICATABLES=libModelicaTables.a
418-
LIBMODELICATABLESCPPFLAGS="-DDUMMY_FUNCTION_USERTAB"
419-
LIBMODELICATABLESLDFLAGS=""
420-
fi
421-
422383
LIBS=""
423384

424385
dnl should we use ipopt?
@@ -681,22 +642,20 @@ fi
681642

682643
if test "Darwin" = `uname`; then
683644
EXE=".app"
645+
SHREXT=".dylib"
684646
LIBGC="build/lib/omc/libgc.a"
685647
LIBSIMULATION=libSimulationRuntimeC.a
686648
LIBRUNTIME=libOpenModelicaRuntimeC.a
687649
LIBFMIRUNTIME=libOpenModelicaFMIRuntimeC.a
650+
RT_LDFLAGS="$RT_LDFLAGS -liconv -lgc $OPENMP"
688651
else
689652
EXE=""
653+
SHREXT=".so"
690654
LIBGC="build/lib/omc/libgc.so build/lib/omc/libgc.so.1 build/lib/omc/libgc.so.1.0.3"
691655
LIBSIMULATION=libSimulationRuntimeC.a
692656
LIBRUNTIME=libOpenModelicaRuntimeC.so
693657
LIBFMIRUNTIME=libOpenModelicaFMIRuntimeC.a
694-
fi
695-
696-
if test "Darwin" != `uname`; then
697658
RT_LDFLAGS="$RT_LDFLAGS -lrt -lgc $OPENMP"
698-
else
699-
RT_LDFLAGS="$RT_LDFLAGS -liconv -lgc $OPENMP"
700659
fi
701660

702661
dnl should we compile modpar

0 commit comments

Comments
 (0)