install m4 macro
authorMichal Voců <michal@ruk.cuni.cz>
Thu, 27 Nov 2008 13:35:45 +0000 (13:35 +0000)
committerMichal Voců <michal@ruk.cuni.cz>
Thu, 27 Nov 2008 13:35:45 +0000 (13:35 +0000)
org.glite.lb.client/Makefile
org.glite.lb.client/m4/glite_lb_client.m4 [new file with mode: 0755]

index 5b8ba9a..e9adfb5 100644 (file)
@@ -316,6 +316,7 @@ install:
        mkdir -p ${PREFIX}/share/man/man1
        mkdir -p ${PREFIX}/examples
        mkdir -p ${PREFIX}/share/man/man8
+       mkdir -p ${PREFIX}/share/build/m4
 ifdef LB_STANDALONE
        ${INSTALL} -m 644 ${LIB} ${THRLIB} ${PREFIX}/lib
 else
@@ -350,6 +351,7 @@ endif
        ${INSTALL} -m 755 ${top_srcdir}/examples/notify.pl ${PREFIX}/examples/glite-lb-notify.pl
        ${INSTALL} -m 644 ${MAN_GZ} ${PREFIX}/share/man/man1
        ${INSTALL} -m 644 ${MAN8_GZ} ${PREFIX}/share/man/man8
+       ${INSTALL} -m 644 ${top_srcdir}/m4/*.m4 ${PREFIX}/share/build/m4/
 
 clean:
        rm -rvf *.o *.lo .libs lib* *.c *.cpp *.h *.dox producer_test notify C/ CPP/
diff --git a/org.glite.lb.client/m4/glite_lb_client.m4 b/org.glite.lb.client/m4/glite_lb_client.m4
new file mode 100755 (executable)
index 0000000..878d59f
--- /dev/null
@@ -0,0 +1,129 @@
+dnl Usage:
+dnl AC_GLITE_LB
+dnl - GLITE_LB_THR_CLIENT_LIBS
+dnl - GLITE_LB_THR_CLIENTPP_LIBS
+dnl - GLITE_LB_THR_COMMON_LIBS
+dnl - GLITE_LB_NOTHR_CLIENT_LIBS
+dnl - GLITE_LB_NOTHR_CLIENTPP_LIBS
+dnl - GLITE_LB_NOTHR_COMMON_LIBS
+dnl - GLITE_STATIC_LB_NOTHR_CLIENT_LIBS
+dnl - GLITE_STATIC_LB_NOTHR_COMMON_LIBS
+
+AC_DEFUN([AC_GLITE_LB],
+[
+    ac_glite_lb_prefix=$GLITE_LOCATION
+
+    AC_SEC_GSOAP_PLUGIN
+
+    if test -n "ac_glite_lb_prefix" ; then
+       dnl
+       dnl 
+       dnl
+        ac_glite_lb_lib="-L$ac_glite_lb_prefix/lib"
+       GLITE_LB_THR_CLIENT_LIBS="$ac_glite_lb_lib -lglite_lb_client_$GLOBUS_THR_FLAVOR"
+       GLITE_LB_THR_CLIENTPP_LIBS="$ac_glite_lb_lib -lglite_lb_clientpp_$GLOBUS_THR_FLAVOR"
+       GLITE_LB_THR_COMMON_LIBS="$ac_glite_lb_lib -lglite_lb_common_$GLOBUS_THR_FLAVOR $SEC_GSOAP_PLUGIN_GSS_THR_LIBS"
+       GLITE_LB_NOTHR_CLIENT_LIBS="$ac_glite_lb_lib -lglite_lb_client_$GLOBUS_NOTHR_FLAVOR"
+       GLITE_LB_NOTHR_CLIENTPP_LIBS="$ac_glite_lb_lib -lglite_lb_clientpp_$GLOBUS_NOTHR_FLAVOR"
+        GLITE_LB_NOTHR_COMMON_LIBS="$ac_glite_lb_lib -lglite_lb_common_$GLOBUS_NOTHR_FLAVOR $SEC_GSOAP_PLUGIN_GSS_NOTHR_LIBS"
+       GLITE_STATIC_LB_NOTHR_CLIENT_LIBS="$ac_glite_lb_prefix/lib/libglite_lb_client_$GLOBUS_NOTHR_FLAVOR.a"
+        GLITE_STATIC_LB_NOTHR_COMMON_LIBS="$ac_glite_lb_prefix/lib/libglite_lb_common_$GLOBUS_NOTHR_FLAVOR.a $SEC_GSOAP_PLUGIN_GSS_STATIC_NOTHR_LIBS"
+       ifelse([$2], , :, [$2])
+    else
+       GLITE_LB_THR_CLIENT_LIBS=""
+       GLITE_LB_THR_CLIENTPP_LIBS=""
+       GLITE_LB_THR_COMMON_LIBS=""
+       GLITE_LB_NOTHR_CLIENT_LIBS=""
+       GLITE_LB_NOTHR_CLIENTPP_LIBS=""
+       GLITE_LB_NOTHR_COMMON_LIBS=""
+       GLITE_STATIC_LB_NOTHR_CLIENT_LIBS=""
+        GLITE_STATIC_LB_NOTHR_COMMON_LIBS=""
+       ifelse([$3], , :, [$3])
+    fi
+
+    AC_SUBST(GLITE_LB_THR_CLIENT_LIBS)
+    AC_SUBST(GLITE_LB_THR_CLIENTPP_LIBS)
+    AC_SUBST(GLITE_LB_THR_COMMON_LIBS)
+    AC_SUBST(GLITE_LB_NOTHR_CLIENT_LIBS)
+    AC_SUBST(GLITE_LB_NOTHR_CLIENTPP_LIBS)
+    AC_SUBST(GLITE_LB_NOTHR_COMMON_LIBS)
+    AC_SUBST(GLITE_STATIC_LB_NOTHR_CLIENT_LIBS)
+    AC_SUBST(GLITE_STATIC_LB_NOTHR_COMMON_LIBS)
+])
+
+AC_DEFUN([GLITE_CHECK_LB_CLIENT],
+[AC_MSG_CHECKING([for org.glite.lb.client])
+save_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$CPPFLAGS $GLITE_CPPFLAGS"
+save_LDFLAGS=$LDFLAGS
+LDFLAGS="$LDFLAGS $GLITE_LDFLAGS -L$GLOBUS_LOCATION/lib"
+save_LIBS=$LIBS
+
+AC_LANG_PUSH([C])
+
+# prepare the test program, to link against the different combinations
+# of globus flavours
+
+AC_LANG_CONFTEST(
+  [AC_LANG_PROGRAM(
+    [@%:@include "glite/lb/consumer.h"],
+    [edg_wll_QueryEvents(
+      (edg_wll_Context)0,
+      (const edg_wll_QueryRec*)0,
+      (const edg_wll_QueryRec*)0,
+      (edg_wll_Event**)0
+    );]
+  )]
+)
+
+LIBS="-lglite_lb_client_$GLOBUS_THR_FLAVOR $LIBS"
+AC_LINK_IFELSE([],
+  [AC_SUBST([GLITE_LB_CLIENT_THR_LIBS], [-lglite_lb_client_$GLOBUS_THR_FLAVOR])],
+  [AC_MSG_ERROR([cannot find org.glite.lb.client ($GLOBUS_THR_FLAVOR)])]
+)
+LIBS=$save_LIBS
+
+LIBS="-lglite_lb_client_$GLOBUS_NOTHR_FLAVOR $LIBS"
+AC_LINK_IFELSE([],
+  [AC_SUBST([GLITE_LB_CLIENT_NOTHR_LIBS], [-lglite_lb_client_$GLOBUS_NOTHR_FLAVOR])],
+  [AC_MSG_ERROR([cannot find org.glite.lb.client ($GLOBUS_NOTHR_FLAVOR)])]
+)
+LIBS=$save_LIBS
+
+AC_LANG_POP([C])
+
+AC_LANG_PUSH([C++])
+
+# prepare the test program, to link against the different combinations
+# of globus flavours
+
+AC_LANG_CONFTEST(
+  [AC_LANG_PROGRAM(
+    [@%:@include "glite/lb/Job.h"],
+    [glite::lb::Job job;]
+  )]
+)
+
+save_LIBS=$LIBS
+LIBS="-lglite_lb_clientpp_$GLOBUS_THR_FLAVOR $LIBS"
+AC_LINK_IFELSE([],
+  [AC_SUBST([GLITE_LB_CLIENTPP_THR_LIBS], [-lglite_lb_clientpp_$GLOBUS_THR_FLAVOR])],
+  [AC_MSG_ERROR([cannot find org.glite.lb.client (C++ - $GLOBUS_THR_FLAVOR)])]
+)
+LIBS=$save_LIBS
+
+LIBS="-lglite_lb_clientpp_$GLOBUS_NOTHR_FLAVOR $LIBS"
+AC_LINK_IFELSE([],
+  [AC_SUBST([GLITE_LB_CLIENTPP_NOTHR_LIBS], [-lglite_lb_clientpp_$GLOBUS_NOTHR_FLAVOR])],
+  [AC_MSG_ERROR([cannot find org.glite.lb.client (C++ - $GLOBUS_NOTHR_FLAVOR)])]
+)
+LIBS=$save_LIBS
+
+AC_LANG_POP([C++])
+
+LDFLAGS="$save_LDFLAGS"
+CPPFLAGS=$save_CPPFLAGS
+
+AC_MSG_RESULT([yes])
+
+])