]> git.sesse.net Git - vlc/commitdiff
Always build and use "our" getopt
authorRémi Denis-Courmont <remi@remlab.net>
Sun, 28 Feb 2010 12:58:26 +0000 (14:58 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sun, 28 Feb 2010 15:01:46 +0000 (17:01 +0200)
(We still need -lgnugetopt for cachegen)

bin/Makefile.am
configure.ac
src/Makefile.am
src/config/cmdline.c
src/extras/getopt.c
src/extras/getopt.h
src/extras/getopt1.c

index dfeaee26acfc41279e8166012c95ec257c74a053..2bb42944ff6e31f984e436cc0a7643f36eb20a1d 100644 (file)
@@ -57,5 +57,6 @@ vlc_win32_rc.$(OBJEXT): vlc_win32_rc.rc
 
 vlc_cache_gen_SOURCES = cachegen.c
 vlc_cache_gen_LDADD = \
+       $(GNUGETOPT_LIBS) \
        ../compat/libcompat.la \
        ../src/libvlc.la ../src/libvlccore.la
index 31ff8c8260e5fc92a7ee8a8df43af7d66da6bd22..206b2691c86cfcfa5d7b6de4b90646778854f6b6 100644 (file)
@@ -646,19 +646,14 @@ AC_CHECK_FUNCS(inet_aton,,[
   ])
 ])
 
-dnl Check for getopt (always use builtin one on win32)
-if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
-need_getopt=:
-else
-need_getopt=false
-AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
-[ # FreeBSD has a gnugetopt library for this:
-  AC_CHECK_LIB([gnugetopt],[getopt_long],
-    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
-     VLC_ADD_LIBS([libvlccore],[-lgnugetopt])],
-    [need_getopt=:])])
-fi
-AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
+dnl FreeBSD has a gnugetopt library for this:
+GNUGETOPT_LIBS=""
+AC_CHECK_FUNC(getopt_long,, [
+  AC_CHECK_LIB([gnugetopt],[getopt_long], [
+    GNUGETOPT_LIBS="-lgnugetopt"
+  ])
+])
+AC_SUBST(GNUGETOPT_LIBS)
 
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
 AC_CHECK_LIB(m,cos,[
index 973979a93d44d4c69b3b05e5a0ff3d8680ac78b2..c265d6d622faf4c87a5d02f3179320110a645ddf 100644 (file)
@@ -228,7 +228,6 @@ EXTRA_libvlccore_la_SOURCES = \
        $(SOURCES_libvlc_win32) \
        $(SOURCES_libvlc_other) \
        $(SOURCES_libvlc_dirent) \
-       $(SOURCES_libvlc_getopt) \
        $(SOURCES_libvlc_httpd) \
        $(SOURCES_libvlc_sout) \
        $(SOURCES_libvlc_vlm) \
@@ -257,9 +256,6 @@ endif
 if BUILD_DIRENT
 libvlccore_la_SOURCES += $(SOURCES_libvlc_dirent)
 endif
-if BUILD_GETOPT
-libvlccore_la_SOURCES += $(SOURCES_libvlc_getopt)
-endif
 if BUILD_HTTPD
 libvlccore_la_SOURCES += $(SOURCES_libvlc_httpd)
 endif
@@ -302,12 +298,6 @@ SOURCES_libvlc_dirent = \
        extras/dirent.c \
        $(NULL)
 
-SOURCES_libvlc_getopt = \
-       extras/getopt.c \
-       extras/getopt.h \
-       extras/getopt1.c \
-       $(NULL)
-
 SOURCES_libvlc_common = \
        libvlc.c \
        libvlc.h \
@@ -456,6 +446,9 @@ SOURCES_libvlc_common = \
        misc/filter_chain.c \
        misc/http_auth.c \
        misc/sql.c \
+       extras/getopt.c \
+       extras/getopt.h \
+       extras/getopt1.c \
        $(NULL)
 
 SOURCES_libvlc_httpd = \
@@ -482,7 +475,6 @@ SOURCES_libvlc = \
        $(OPT_SOURCES_libvlc_darwin) \
        $(OPT_SOURCES_libvlc_win32) \
        $(OPT_SOURCES_libvlc_dirent) \
-       $(OPT_SOURCES_libvlc_getopt) \
        $(NULL)
 
 SOURCES_libvlc_control = \
index 38785645e714277a4658b3caab18264ee53aba57..5316e8288645be197283cff03d4312325034ad39 100644 (file)
 #include <vlc_keys.h>
 #include <vlc_charset.h>
 
-#ifdef HAVE_GETOPT_LONG
-#   ifdef HAVE_GETOPT_H
-#       include <getopt.h>                                       /* getopt() */
-#   endif
-#else
-#   include "../extras/getopt.h"
-#endif
+#include "../extras/getopt.h"
 
 #include "configuration.h"
 #include "modules/modules.h"
@@ -219,7 +213,7 @@ int config_LoadCmdLine( vlc_object_t *p_this, int *pi_argc,
      */
     opterr = 0;
     optind = 0; /* set to 0 to tell GNU getopt to reinitialize */
-    while( ( i_cmd = getopt_long( *pi_argc, (char **)ppsz_argv, psz_shortopts,
+    while( ( i_cmd = vlc_getopt_long( *pi_argc, (char **)ppsz_argv, psz_shortopts,
                                   p_longopts, &i_index ) ) != -1 )
     {
         /* A long option has been recognized */
index fe301f4f8ac8d4c1689926e1549d9bf37665d70b..ae4ab5efdddccd1dacadaa97d1cde72ef197b82c 100644 (file)
@@ -61,8 +61,6 @@
 #endif
 #endif
 
-#ifndef ELIDE_CODE
-
 /* This needs to come after some library #include
    to get __GNU_LIBRARY__ defined.  */
 #ifdef    __GNU_LIBRARY__
@@ -937,8 +935,6 @@ int
                 (int *) 0,
                 0);
 }
-
-#endif /* Not ELIDE_CODE.  */
 \f
 #ifdef TEST
 
index c05d74fbd0322df9f0c7c053196bf86ed7c730bc..b14fe617016c6ca993b07b031599ba1d2b2cd790 100644 (file)
@@ -108,7 +108,7 @@ extern "C"
 #else                /* not __GNU_LIBRARY__ */
     extern int getopt();
 #endif                /* __GNU_LIBRARY__ */
-    extern int getopt_long(int argc, char *const *argv, const char *shortopts,
+    extern int vlc_getopt_long(int argc, char *const *argv, const char *shortopts,
                    const struct option *longopts, int *longind);
     extern int getopt_long_only(int argc, char *const *argv,
                     const char *shortopts,
@@ -121,7 +121,7 @@ extern "C"
                     int long_only);
 #else                /* not __STDC__ */
     extern int getopt();
-    extern int getopt_long();
+    extern int vlc_getopt_long();
     extern int getopt_long_only();
 
     extern int _getopt_internal();
index c10b9069a94d6532e911bd369cdae1ed861213f6..b846efce1b394bb4ad463e8093f55ea83a20de60 100644 (file)
@@ -51,8 +51,6 @@
 #endif
 #endif
 
-#ifndef ELIDE_CODE
-
 /* This needs to come after some library #include
    to get __GNU_LIBRARY__ defined.  */
 #ifdef __GNU_LIBRARY__
@@ -64,7 +62,7 @@
 #endif
 
 int
-    getopt_long(argc, argv, options, long_options, opt_index)
+    vlc_getopt_long(argc, argv, options, long_options, opt_index)
      int argc;
      char *const *argv;
      const char *options;
@@ -89,8 +87,6 @@ int
 {
     return _getopt_internal(argc, argv, options, long_options, opt_index, 1);
 }
-
-#endif /* Not ELIDE_CODE.  */
 \f
 #ifdef TEST