From 47be9ff57e72906660bb62a515222f482131e1fb Mon Sep 17 00:00:00 2001 From: Miroslav Grepl Date: Fri, 11 Apr 2014 09:37:53 +0200 Subject: Create setools-3.3.7 git repo --- libpoldiff/swig/java/MANIFEST.MF.in | 14 ++++++ libpoldiff/swig/java/Makefile.am | 93 +++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 libpoldiff/swig/java/MANIFEST.MF.in create mode 100644 libpoldiff/swig/java/Makefile.am (limited to 'libpoldiff/swig/java') diff --git a/libpoldiff/swig/java/MANIFEST.MF.in b/libpoldiff/swig/java/MANIFEST.MF.in new file mode 100644 index 0000000..dd680b0 --- /dev/null +++ b/libpoldiff/swig/java/MANIFEST.MF.in @@ -0,0 +1,14 @@ +Manifest-Version: 1.0 + +Name: com/tresys/setools/ +Specification-Title: "SETools Java Libraries" +Specification-Version: "@VERSION@" +Specification-Vendor: "Tresys Technology" +Implementation-Title: "com.tresys.setools.poldiff" +Implementation-Version: "@libpoldiff_version@" +Implementation-Vendor: "Tresys Technology" +Extension-List: qpol apol +qpol-Extension-Name: com.tresys.setools.qpol +qpol-Implementation-Version: @libqpol_version@ +apol-Extension-Name: com.tresys.setools.apol +apol-Implementation-Version: @libapol_version@ diff --git a/libpoldiff/swig/java/Makefile.am b/libpoldiff/swig/java/Makefile.am new file mode 100644 index 0000000..6be72d3 --- /dev/null +++ b/libpoldiff/swig/java/Makefile.am @@ -0,0 +1,93 @@ +wrappedso_DATA = libjpoldiff.so.@libpoldiff_version@ +wrappedso_SONAME = @libpoldiff_jswig_soname@ +short_name = libjpoldiff.so +wrappedsodir = $(libdir) + +package_name = com.tresys.setools.poldiff +package_dir = $(dir $(subst .,/,$(package_name)))poldiff + +wrappedjar_DATA = poldiff.jar +wrappedjardir = $(setoolsdir) + +dist_noinst_DATA = $(srcdir)/../poldiff.i +BUILT_SOURCES = poldiff_wrap.c \ + poldiff_attrib_t.java \ + poldiff_avrule_t.java \ + poldiff_bool_t.java \ + poldiff_cat_t.java \ + poldiff_class_t.java \ + poldiff_common_t.java \ + poldiffConstants.java \ + poldiff_form_e.java \ + poldiff.java \ + poldiffJNI.java \ + poldiff_level_t.java \ + poldiff_range_t.java \ + poldiff_range_trans_t.java \ + poldiff_role_allow_t.java \ + poldiff_role_t.java \ + poldiff_role_trans_t.java \ + poldiff_stats_t.java \ + poldiff_terule_t.java \ + poldiff_t.java \ + poldiff_type_remap_entry_t.java \ + poldiff_type_t.java \ + poldiff_user_t.java \ + SWIGTYPE_p_void.java + +AM_CFLAGS = @DEBUGCFLAGS@ @WARNCFLAGS@ @PROFILECFLAGS@ @SELINUX_CFLAGS@ \ + @QPOL_CFLAGS@ -I$(top_builddir) -fpic \ + -I$(top_srcdir)/libapol/include -I$(top_srcdir)/libpoldiff/include +AM_JFLAGS = @DEBUGJFLAGS@ @WARNJFLAGS@ \ + -classpath $(top_builddir)/libqpol/swig/java/qpol.jar:$(top_builddir)/libapol/swig/java/apol.jar +AM_LDFLAGS = @DEBUGLDFLAGS@ @WARNLDFLAGS@ @PROFILELDFLAGS@ \ + @APOL_LIB_FLAG@ @QPOL_LIB_FLAG@ @POLDIFF_LIB_FLAG@ +DEPENDENCIES = $(top_builddir)/libqpol/src/libqpol.so \ + $(top_builddir)/libapol/src/libapol.so \ + $(top_builddir)/libpoldiff/src/libpoldiff.so + +$(firstword $(BUILT_SOURCES)): $(dist_noinst_DATA) $(DEPENDENCIES) + $(SWIG) $(SWIG_JAVA_OPT) -package $(package_name) -o $@ \ + -I$(top_srcdir)/libpoldiff/include -I$(top_srcdir)/libapol/include -I$(top_srcdir)/libqpol/include \ + -I$(top_srcdir)/libqpol/swig -I$(top_srcdir)/libapol/swig $< + +$(wordlist 2,$(words $(BUILT_SOURCES)), $(BUILT_SOURCES)): $(firstword $(BUILT_SOURCES)) + +$(wrappedso_DATA): $(filter %.c, $(BUILT_SOURCES)) + $(CC) -shared -o $@ $^ $(AM_CFLAGS) $(CFLAGS) $(SWIG_JAVA_CFLAGS) -DSWIGJAVA=1 $(AM_LDFLAGS) $(LDFLAGS) -Wl,-soname,$(wrappedso_SONAME) + $(LN_S) -f $@ $(wrappedso_SONAME) + $(LN_S) -f $@ $(short_name) + +# Intentionally do not include SWIGTYPE_p_void.java below so that the +# Java compiler uses the one created in package +# com.tresys.setools.qpol instead of the one from package +# com.tresys.setools.poldiff. +java_files = $(filter-out SWIGTYPE_p_void.java, $(filter %.java, $(BUILT_SOURCES))) + +classes = $(patsubst %.java, $(package_dir)/%.class, $(java_files)) + +# Because the Java compiler can generate multiple class files from the +# same source .java file, putting all of the classes below will result +# in repeated invocations of javac. Therefore, an alternative is to +# just depend upon the first class file, and let the Java compiler +# create the rest of them. +$(firstword $(classes)): $(java_files) + $(JAVAC) $(AM_JFLAGS) $(JAVAFLAGS) -d . $^ + +$(wordlist 2,$(words $(classes)),$(classes)): $(firstword $(classes)) + +$(wrappedjar_DATA): MANIFEST.MF + +$(wrappedjar_DATA): $(classes) + $(JAR) cfm $@ MANIFEST.MF $^ + +install-data-hook: + cd $(DESTDIR)$(wrappedsodir) && $(LN_S) -f $(wrappedso_DATA) $(wrappedso_SONAME) + cd $(DESTDIR)$(wrappedsodir) && $(LN_S) -f $(wrappedso_DATA) $(short_name) + $(mkdir_p) $(DESTDIR)$(javadir) && cd $(DESTDIR)$(javadir) && $(LN_S) -f $(wrappedjardir)/$(wrappedjar_DATA) + +uninstall-local: + -rm -rf $(DESTDIR)$(wrappedsodir)/$(wrappedso_SONAME) $(DESTDIR)$(wrappedsodir)/$(short_name) + -rm -f $(DESTDIR)$(javadir)/$(wrappedjar_DATA) + +MOSTLYCLEANFILES = $(BUILT_SOURCES) $(classes) $(wrappedso_DATA) $(wrappedjar_DATA) $(wrappedso_SONAME) $(short_name) -- cgit