blob: 796e9068ce7130a13e58ede9b387c2081118b384 [file] [log] [blame]
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +01001# This is _NOT_ the library release version, it's an API version.
2# Please read chapter "Library interface versions" of the libtool documentation
3# before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html
Oliver Smithee569832023-11-28 12:59:16 +01004LIBVERSION=21:2:0
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +01005
Pau Espin Pedrol88955fb2023-01-18 18:54:00 +01006AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir)
Daniel Willmannf91d2aa2023-01-04 18:20:55 +01007AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) $(LIBSCTP_CFLAGS) $(LIBMNL_CFLAGS) $(URING_CFLAGS)
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +01008
9if ENABLE_PSEUDOTALLOC
10AM_CPPFLAGS += -I$(top_srcdir)/src/pseudotalloc
11endif
12
13lib_LTLIBRARIES = libosmocore.la
14
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010015libosmocore_la_LIBADD = \
16 $(BACKTRACE_LIB) \
17 $(TALLOC_LIBS) \
18 $(LIBRARY_RT) \
19 $(PTHREAD_LIBS) \
20 $(LIBSCTP_LIBS) \
Daniel Willmannf91d2aa2023-01-04 18:20:55 +010021 $(URING_LIBS) \
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010022 $(NULL)
23
24libosmocore_la_SOURCES = \
25 application.c \
26 backtrace.c \
27 base64.c \
28 bits.c \
29 bitvec.c \
30 bitcomp.c \
31 context.c \
32 conv.c \
33 conv_acc.c \
34 conv_acc_generic.c \
35 counter.c \
36 crc16.c \
37 crc8gen.c \
38 crc16gen.c \
39 crc32gen.c \
40 crc64gen.c \
41 exec.c \
42 fsm.c \
43 gsmtap_util.c \
44 isdnhdlc.c \
45 it_q.c \
46 logging.c \
47 logging_syslog.c \
48 logging_gsmtap.c \
49 loggingrb.c \
50 macaddr.c \
51 msgb.c \
Pau Espin Pedrol9d0321d2023-01-24 17:33:06 +010052 netdev.c \
Pau Espin Pedrol8a5014b2023-01-19 16:54:47 +010053 netns.c \
Harald Welte8857f3b2022-11-18 13:54:44 +010054 osmo_io.c \
55 osmo_io_poll.c \
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010056 panic.c \
57 prbs.c \
58 prim.c \
59 rate_ctr.c \
60 rbtree.c \
61 select.c \
62 sercomm.c \
63 signal.c \
64 sockaddr_str.c \
65 socket.c \
66 stat_item.c \
67 stats.c \
68 stats_statsd.c \
69 stats_tcp.c \
70 strrb.c \
71 tdef.c \
72 thread.c \
73 time_cc.c \
74 timer.c \
75 timer_gettimeofday.c \
76 timer_clockgettime.c \
Pau Espin Pedrol51e9dde2023-01-24 17:34:34 +010077 tun.c \
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010078 use_count.c \
79 utils.c \
80 write_queue.c \
81 probes.d \
82 $(NULL)
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +010083
84if HAVE_SSSE3
85libosmocore_la_SOURCES += conv_acc_sse.c
86if HAVE_SSE4_1
87conv_acc_sse.lo : AM_CFLAGS += -mssse3 -msse4.1
88else
89conv_acc_sse.lo : AM_CFLAGS += -mssse3
90endif
91
92if HAVE_AVX2
93libosmocore_la_SOURCES += conv_acc_sse_avx.c
94if HAVE_SSE4_1
95conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2 -msse4.1
96else
97conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2
98endif
99endif
100endif
101
102if HAVE_NEON
103libosmocore_la_SOURCES += conv_acc_neon.c
104# conv_acc_neon.lo : AM_CFLAGS += -mfpu=neon no, could as well be vfp with neon
105endif
106
107BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c
108
109EXTRA_DIST = \
110 conv_acc_sse_impl.h \
111 conv_acc_neon_impl.h \
112 crcXXgen.c.tpl \
Harald Welte8857f3b2022-11-18 13:54:44 +0100113 osmo_io_internal.h \
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +0100114 stat_item_internal.h \
Daniel Willmann213fc422023-02-03 07:44:55 +0100115 libosmocore.map \
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +0100116 $(NULL)
117
Harald Weltec9527762023-03-05 20:07:01 +0100118EXTRA_libosmocore_la_DEPENDENCIES = libosmocore.map
119
Daniel Willmann213fc422023-02-03 07:44:55 +0100120libosmocore_la_LDFLAGS = \
121 $(LTLDFLAGS_OSMOCORE) \
122 -version-info \
123 $(LIBVERSION) \
124 -no-undefined
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +0100125
126if ENABLE_PLUGIN
127libosmocore_la_SOURCES += plugin.c
128libosmocore_la_LIBADD += $(LIBRARY_DLOPEN)
129endif
130
131if ENABLE_MSGFILE
132libosmocore_la_SOURCES += msgfile.c
133endif
134
135if ENABLE_SERIAL
136libosmocore_la_SOURCES += serial.c
137endif
138
139if ENABLE_SYSTEMD_LOGGING
140libosmocore_la_SOURCES += logging_systemd.c
141libosmocore_la_LIBADD += $(SYSTEMD_LIBS)
142endif
143
144if ENABLE_LIBMNL
145libosmocore_la_SOURCES += mnl.c
146libosmocore_la_LIBADD += $(LIBMNL_LIBS)
147endif
148
149if ENABLE_SYSTEMTAP
150probes.h: probes.d
151 $(DTRACE) -C -h -s $< -o $@
152
153probes.lo: probes.d
154 $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC env CFLAGS="$(CFLAGS)" $(DTRACE) -C -G -s $< -o $@
155
156BUILT_SOURCES += probes.h probes.lo
157libosmocore_la_LIBADD += probes.lo
158endif
159
Daniel Willmannf91d2aa2023-01-04 18:20:55 +0100160if ENABLE_URING
161libosmocore_la_SOURCES += osmo_io_uring.c
162endif
163
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +0100164crc%gen.c: crcXXgen.c.tpl
165 $(AM_V_GEN)sed -e's/XX/$*/g' $< > $@