On Thursday 29 December 2005 22:01, Mike Frysinger wrote:
> can someone list the requirements for the plugins dir in terms of what is
> supposed to be installed ?  all those hack rules can probably be cut out
> with proper autotool rules, i just need to know what exactly needs to be
> done ... also, the way the thing installs now is not safe ...

here's my first pass at the cleanup ... this patch does not change (afaik) the 
way the plugins are currently installed ... by default, you end up with 
libXXXPlugin.{a,so} in $libdir (the .la is removed) and a symlink in 
$plugindir named XXXPlugin.so pointing to the correct libXXXPlugin.so in 
$libdir ... also, the XXXPlugin.so symlinks are generated in 
$top_builddir/plugins pointing to .libs/libXXXPlugin.so
-mike
Index: plugins/Makefile.am
===================================================================
RCS file: /export/home/ntop/ntop/plugins/Makefile.am,v
retrieving revision 2.25
diff -u -p -r2.25 Makefile.am
--- plugins/Makefile.am	12 Nov 2005 14:16:06 -0000	2.25
+++ plugins/Makefile.am	30 Dec 2005 07:56:22 -0000
@@ -101,96 +101,31 @@ libxmldumpPlugin_la_CFLAGS = $(AM_CFLAGS
 # by default ntop looks for plugins in the plugins/ subdirectory
 #
 
+%Plugin.so$(EXEEXT): .libs/lib%Plugin.so
+	$(LN_S) $< $@
 
-.libs/[EMAIL PROTECTED]@:
-	@if test -f libicmpPlugin_la-icmpPlugin.o; then \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ libicmpPlugin_la-icmpPlugin.o; \
-	else \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ icmpPlugin.o; \
-	fi
-
-icmpPlugin.so$(EXEEXT): .libs/[EMAIL PROTECTED]@
-	@$(LN_S) .libs/libicmpPlugin.so icmpPlugin.so
-
-.libs/[EMAIL PROTECTED]@:
-	@if test -f liblastSeenPlugin_la-lastSeenPlugin.o; then \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ liblastSeenPlugin_la-lastSeenPlugin.o; \
-	else \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ lastSeenPlugin.o; \
-	fi
-
-lastSeenPlugin.so$(EXEEXT): .libs/[EMAIL PROTECTED]@
-	@$(LN_S) .libs/liblastSeenPlugin.so lastSeenPlugin.so
-
-.libs/[EMAIL PROTECTED]@:
-	@if test -f libnetflowPlugin_la-netflowPlugin.o; then \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ libnetflowPlugin_la-netflowPlugin.o; \
-	else \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ netflowPlugin.o; \
-	fi
-
-netflowPlugin.so$(EXEEXT): .libs/[EMAIL PROTECTED]@
-	@$(LN_S) .libs/libnetflowPlugin.so netflowPlugin.so
-
-.libs/[EMAIL PROTECTED]@:
-	@if test -f libpdaPlugin_la-pdaPlugin.o; then \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ libpdaPlugin_la-pdaPlugin.o; \
-	else \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ pdaPlugin.o; \
-	fi
-
-pdaPlugin.so$(EXEEXT): .libs/[EMAIL PROTECTED]@
-	@$(LN_S) .libs/libpdaPlugin.so pdaPlugin.so
-
-.libs/[EMAIL PROTECTED]@:
-	@if test -f librrdPlugin_la-rrdPlugin.o; then \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ librrdPlugin_la-rrdPlugin.o; \
-	else \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ rrdPlugin.o; \
-	fi
-
-rrdPlugin.so$(EXEEXT): .libs/[EMAIL PROTECTED]@
-	@$(LN_S) .libs/librrdPlugin.so rrdPlugin.so
-
-.libs/[EMAIL PROTECTED]@:
-	@if test -f libsnmpPlugin_la-snmpPlugin.o; then \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ libsnmpPlugin_la-snmpPlugin.o; \
-	else \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ snmpPlugin.o; \
-	fi
-
-snmpPlugin.so$(EXEEXT): .libs/[EMAIL PROTECTED]@
-	@$(LN_S) .libs/libsnmpPlugin.so snmpPlugin.so
-
-.libs/[EMAIL PROTECTED]@:
-	@if test -f libsflowPlugin_la-sflowPlugin.o; then \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ libsflowPlugin_la-sflowPlugin.o; \
-	else \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ sflowPlugin.o; \
-	fi
-
-sflowPlugin.so$(EXEEXT): .libs/[EMAIL PROTECTED]@
-	@$(LN_S) .libs/libsflowPlugin.so sflowPlugin.so
-
-.libs/[EMAIL PROTECTED]@:
-	@if test -f libxmldumpPlugin_la-xmldumpPlugin.o; then \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ libxmldumpPlugin_la-xmldumpPlugin.o; \
-	else \
-	$(CC) @MAKE_SHARED_LIBRARY_PARM@ -o .libs/[EMAIL PROTECTED]@ xmldumpPlugin.o; \
-	fi
+# Need to make sure autotools doesn't insert rules for us
+icmpPlugin.so$(EXEEXT):     .libs/libicmpPlugin.so
+lastSeenPlugin.so$(EXEEXT): .libs/liblastSeenPlugin.so
+netflowPlugin.so$(EXEEXT):  .libs/libnetflowPlugin.so
+pdaPlugin.so$(EXEEXT):      .libs/libpdaPlugin.so
+rrdPlugin.so$(EXEEXT):      .libs/librrdPlugin.so
+snmpPlugin.so$(EXEEXT):     .libs/libsnmpPlugin.so
+sflowPlugin.so$(EXEEXT):    .libs/libsflowPlugin.so
+xmldumpPlugin.so$(EXEEXT):  .libs/libxmldumpPlugin.so
 
-xmldumpPlugin.so$(EXEEXT): .libs/[EMAIL PROTECTED]@
-	@$(LN_S) .libs/libxmldumpPlugin.so xmldumpPlugin.so
+#
+# Create symlinks for the plugins
+#
 
 install-data-local:
-	@$(top_srcdir)/mkinstalldirs $(DESTDIR)$(plugindir);
-	@for file in $(noinst_PROGRAMS); do \
-             cp -p $$file $(DESTDIR)$(plugindir)/$$file; \
-         done
-# remove installed libraries
-	@for file in $(lib_LTLIBRARIES); do \
-             rm -f $(DESTDIR)$(libdir)/$$file; \
-         done
+	for file in $(lib_LTLIBRARIES); do \
+		rm -f $(DESTDIR)$(libdir)/$$file; \
+	done
+	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(plugindir)
+	for file in $(noinst_PROGRAMS) ; do \
+		$(LN_S) $(libdir)/lib$$file $(DESTDIR)$(plugindir)/$$file ; \
+	done
 
 #
 # Special stuff for xml auto-generation of code from the "doc":
_______________________________________________
Ntop-dev mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev

Reply via email to