summaryrefslogtreecommitdiff
path: root/net/megacmd/files/patch-sdk_configure.ac
blob: 9328d1669b1fd6fc3082df34cbe5b3b93565efc9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
--- sdk/configure.ac.orig	2024-05-17 14:19:43 UTC
+++ sdk/configure.ac
@@ -208,6 +208,8 @@ LINUX=no
 DARWIN=no
 ANDROID=no
 LINUX=no
+DRAGONFLY=no
+NETBSD=no
 AC_MSG_CHECKING([platform options])
 case $host in
   *-*-cygwin*)
@@ -238,6 +240,12 @@ case $host in
   *-linux*)
     LINUX=yes
     ;;
+  *-dragonfly*)
+    DRAGONFLY=yes
+    ;;
+  *-netbsd*)
+    NETBSD=yes
+    ;;
   *)
     LIBS_EXTRA=""
     ;;
@@ -247,6 +255,8 @@ AM_CONDITIONAL([LINUX], [test "${LINUX}" = "yes"])
 AM_CONDITIONAL([DARWIN], [test "${DARWIN}" = "yes"])
 AM_CONDITIONAL([ANDROID], [test "${ANDROID}" = "yes"])
 AM_CONDITIONAL([LINUX], [test "${LINUX}" = "yes"])
+AM_CONDITIONAL([DRAGONFLY], [test "${DRAGONFLY}" = "yes"])
+AM_CONDITIONAL([NETBSD], [test "${NETBSD}" = "yes"])
 
 AC_SUBST(LIBS_EXTRA)
 
@@ -1369,6 +1379,7 @@ cares=false
 #
 openssl=false
 cares=false
+rt=undef
 if test "x$WIN32" = "xno" ; then
 
     AC_ARG_WITH([poll],
@@ -1381,12 +1392,71 @@ if test "x$WIN32" = "xno" ; then
         LDFLAGS="-pthread $LDFLAGS"
     fi
 
-    # librt #TODO: allow --with-rt=...
-    AC_CHECK_LIB([rt], [aio_write], [
-    SAVE_LDFLAGS="-lrt $SAVE_LDFLAGS"
-    LDFLAGS="-lrt $LDFLAGS"
-    AC_DEFINE(HAVE_AIO_RT, [1], [Define to indicate AIO presence in librt])
-    ],
+    # librt
+    AC_MSG_CHECKING(for rt)
+    AC_ARG_WITH([rt],
+      AS_HELP_STRING(--with-rt=PATH, base of Real-time Library installation),
+      [
+       case $with_rt in
+       no)
+            AC_MSG_RESULT([no])
+
+            rt=false
+         ;;
+       yes)
+            AC_CHECK_HEADERS([aio.h], [],
+                AC_MSG_ERROR([aio.h header not found or not usable])
+            )
+            AC_CHECK_LIB(rt, [aio_write], [LIBRT_LIBS="$LIBRT_LIBS -lrt"],
+                AC_MSG_ERROR([Could not find rt library!])
+            )
+
+            AC_SUBST(LIBRT_LIBS)
+            rt=true
+         ;;
+       *)
+        # determine if library is installed
+        if test -d "$with_rt/lib"; then
+            LDFLAGS="-L$with_rt/lib $LDFLAGS"
+            CXXFLAGS="-I$with_rt/include $CXXFLAGS"
+
+            AC_CHECK_HEADERS([aio.h], [
+                LIBRT_LDFLAGS="-L$with_rt/lib"
+                LIBRT_CXXFLAGS="-I$with_rt/include"],
+                AC_MSG_ERROR([aio.h header not found or not usable])
+            )
+        
+            AC_CHECK_LIB(rt, [aio_write], [LIBRT_LIBS="$LIBRT_LIBS -lrt"],
+                AC_MSG_ERROR([Could not find rt library!])
+            )
+        else
+            AC_MSG_ERROR([Could not find rt library in "$with_rt/lib"!])
+        fi
+
+        AC_SUBST(LIBRT_LDFLAGS)
+        AC_SUBST(LIBRT_CXXFLAGS)
+        AC_SUBST(LIBRT_LIBS)
+        rt=true
+
+        #restore
+        LDFLAGS=$SAVE_LDFLAGS
+        CXXFLAGS=$SAVE_CXXFLAGS
+        ;;
+       esac
+      ],
+      [
+        AC_MSG_RESULT([--with-rt not specified])
+
+        AC_CHECK_HEADERS([aio.h], [],
+            AC_MSG_ERROR([aio.h header not found or not usable])
+        )
+        AC_CHECK_LIB(rt, [aio_write], [LIBRT_LIBS="$LIBRT_LIBS -lrt"],
+            AC_MSG_NOTICE([Could not find librt])
+        )
+
+        AC_SUBST(LIBRT_LIBS)
+        rt=true
+      ]
     )
 
     # OpenSSL
@@ -1617,6 +1687,12 @@ fi
 fi
 
 # define on all platforms
+AM_CONDITIONAL(HAVE_RT, test x$rt = xtrue)
+if test "x$rt" = "xtrue" ; then
+    AC_DEFINE(HAVE_AIO_RT, [1], [Define to indicate AIO presence in librt])
+fi
+
+# define on all platforms
 AM_CONDITIONAL(HAVE_OPENSSL, test x$openssl = xtrue)
 if test "x$openssl" = "xtrue" ; then
     AC_DEFINE(USE_OPENSSL, [1], [Define to use OpenSSL])
@@ -2308,6 +2384,7 @@ AC_MSG_NOTICE([Configured to build Mega SDK:
   PCRE:             $PCRE_CXXFLAGS $PCRE_LDFLAGS $PCRE_LIBS
   LIBUV:            $LIBUV_CXXFLAGS $LIBUV_LDFLAGS $LIBUV_LIBS
   LIBRAW:           $LIBRAW_CXXFLAGS $LIBRAW_LDFLAGS $LIBRAW_LIBS
+  LIBRT:            $LIBRT_CXXFLAGS $LIBRT_LDFLAGS $LIBRT_LIBS
   LIBMEDIAINFO:     $LIBMEDIAINFO_CXXFLAGS $LIBMEDIAINFO_LDFLAGS $LIBMEDIAINFO_LIBS
   FFMPEG:           $FFMPEG_CXXFLAGS $FFMPEG_LDFLAGS $FFMPEG_LIBS