Skip to content

Commit 2e4933a

Browse files
author
Christian Hergert
committed
build: use mongoc-config.h.in for compile time options.
This is how it is done in libbson as well. Just define them in there and use that throughout the public headers.
1 parent febb42c commit 2e4933a

16 files changed

+279
-210
lines changed

configure.ac

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,11 @@ dnl Optionally check for OpenSSL to support TLS streams.
166166
dnl **************************************************************************
167167
PKG_CHECK_MODULES(SSL, openssl, [enable_ssl=yes], [enable_ssl=no])
168168
AM_CONDITIONAL(HAVE_SSL, test "x$enable_ssl" = "xyes")
169+
MONGOC_ENABLE_SSL=0
170+
if test "x$enable_ssl" = "xyes"; then
171+
MONGOC_ENABLE_SSL=1
172+
fi
173+
AC_SUBST([MONGOC_ENABLE_SSL])
169174

170175

171176
dnl **************************************************************************
@@ -262,6 +267,7 @@ dnl **************************************************************************
262267
AC_CONFIG_FILES([
263268
Makefile
264269
mongoc/libmongoc-1.0.pc
270+
mongoc/mongoc-config.h
265271
mongoc/mongoc-version.h
266272
])
267273
AC_OUTPUT

mongoc/.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1+
mongoc-config.h
12
mongoc-stdint.h
23
mongoc-version.h
3-
mongoc-build.h
4-
libmongoc.symbols

mongoc/Makefile.include

Lines changed: 82 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -10,126 +10,102 @@ noinst_LTLIBRARIES = libmongoc-priv.la
1010
lib_LTLIBRARIES = libmongoc-1.0.la
1111

1212

13-
BUILT_SOURCES = \
14-
$(top_srcdir)/mongoc/mongoc-build.h \
15-
$(top_srcdir)/mongoc/libmongoc.symbols
16-
17-
EXPORT_SYMBOLS = \
18-
$(top_srcdir)/mongoc/libmongoc-base.symbols
19-
20-
if HAVE_SSL
21-
EXPORT_SYMBOLS += \
22-
$(top_srcdir)/mongoc/libmongoc-ssl.symbols
23-
endif
24-
25-
$(top_srcdir)/mongoc/libmongoc.symbols: $(EXPORT_SYMBOLS)
26-
cat $^ > $@
27-
28-
$(top_srcdir)/mongoc/mongoc-build.h: Makefile
29-
echo "" > $@
30-
if HAVE_SSL
31-
echo "#ifndef MONGOC_BUILD_H" >> $@
32-
echo "#define MONGOC_BUILD_H" >> $@
33-
echo "#define MONGOC_HAVE_SSL" >> $@
34-
echo "#endif" >> $@
35-
endif
36-
3713
INST_H_FILES = \
38-
$(top_srcdir)/mongoc/mongoc.h \
39-
$(top_srcdir)/mongoc/mongoc-build.h \
40-
$(top_srcdir)/mongoc/mongoc-client.h \
41-
$(top_srcdir)/mongoc/mongoc-client-pool.h \
42-
$(top_srcdir)/mongoc/mongoc-collection.h \
43-
$(top_srcdir)/mongoc/mongoc-cursor.h \
44-
$(top_srcdir)/mongoc/mongoc-database.h \
45-
$(top_srcdir)/mongoc/mongoc-error.h \
46-
$(top_srcdir)/mongoc/mongoc-flags.h \
47-
$(top_srcdir)/mongoc/mongoc-gridfs.h \
48-
$(top_srcdir)/mongoc/mongoc-gridfs-file.h \
49-
$(top_srcdir)/mongoc/mongoc-gridfs-file-page.h \
50-
$(top_srcdir)/mongoc/mongoc-gridfs-file-list.h \
51-
$(top_srcdir)/mongoc/mongoc-host-list.h \
52-
$(top_srcdir)/mongoc/mongoc-init.h \
53-
$(top_srcdir)/mongoc/mongoc-index.h \
54-
$(top_srcdir)/mongoc/mongoc-log.h \
55-
$(top_srcdir)/mongoc/mongoc-opcode.h \
56-
$(top_srcdir)/mongoc/mongoc-read-prefs.h \
57-
$(top_srcdir)/mongoc/mongoc-stdint.h \
58-
$(top_srcdir)/mongoc/mongoc-stream.h \
59-
$(top_srcdir)/mongoc/mongoc-stream-buffered.h \
60-
$(top_srcdir)/mongoc/mongoc-stream-gridfs.h \
61-
$(top_srcdir)/mongoc/mongoc-stream-unix.h \
62-
$(top_srcdir)/mongoc/mongoc-uri.h \
63-
$(top_srcdir)/mongoc/mongoc-version.h \
64-
$(top_srcdir)/mongoc/mongoc-write-concern.h
14+
mongoc/mongoc.h \
15+
mongoc/mongoc-client.h \
16+
mongoc/mongoc-client-pool.h \
17+
mongoc/mongoc-collection.h \
18+
mongoc/mongoc-cursor.h \
19+
mongoc/mongoc-database.h \
20+
mongoc/mongoc-error.h \
21+
mongoc/mongoc-flags.h \
22+
mongoc/mongoc-gridfs.h \
23+
mongoc/mongoc-gridfs-file.h \
24+
mongoc/mongoc-gridfs-file-page.h \
25+
mongoc/mongoc-gridfs-file-list.h \
26+
mongoc/mongoc-host-list.h \
27+
mongoc/mongoc-init.h \
28+
mongoc/mongoc-index.h \
29+
mongoc/mongoc-log.h \
30+
mongoc/mongoc-opcode.h \
31+
mongoc/mongoc-read-prefs.h \
32+
mongoc/mongoc-stdint.h \
33+
mongoc/mongoc-stream.h \
34+
mongoc/mongoc-stream-buffered.h \
35+
mongoc/mongoc-stream-gridfs.h \
36+
mongoc/mongoc-stream-unix.h \
37+
mongoc/mongoc-uri.h \
38+
mongoc/mongoc-version.h \
39+
mongoc/mongoc-write-concern.h
6540
if HAVE_SSL
6641
INST_H_FILES += \
67-
$(top_srcdir)/mongoc/mongoc-stream-tls.h \
68-
$(top_srcdir)/mongoc/mongoc-ssl.h
42+
mongoc/mongoc-stream-tls.h \
43+
mongoc/mongoc-ssl.h
6944
endif
7045

7146

7247
NOINST_H_FILES = \
73-
$(top_srcdir)/mongoc/mongoc-array-private.h \
74-
$(top_srcdir)/mongoc/mongoc-buffer-private.h \
75-
$(top_srcdir)/mongoc/mongoc-client-private.h \
76-
$(top_srcdir)/mongoc/mongoc-collection-private.h \
77-
$(top_srcdir)/mongoc/mongoc-counters-private.h \
78-
$(top_srcdir)/mongoc/mongoc-cursor-private.h \
79-
$(top_srcdir)/mongoc/mongoc-cluster-private.h \
80-
$(top_srcdir)/mongoc/mongoc-database-private.h \
81-
$(top_srcdir)/mongoc/mongoc-init-private.h \
82-
$(top_srcdir)/mongoc/mongoc-gridfs-private.h \
83-
$(top_srcdir)/mongoc/mongoc-gridfs-file-private.h \
84-
$(top_srcdir)/mongoc/mongoc-gridfs-file-page-private.h \
85-
$(top_srcdir)/mongoc/mongoc-gridfs-file-list-private.h \
86-
$(top_srcdir)/mongoc/mongoc-list-private.h \
87-
$(top_srcdir)/mongoc/mongoc-queue-private.h \
88-
$(top_srcdir)/mongoc/mongoc-read-prefs-private.h \
89-
$(top_srcdir)/mongoc/mongoc-rpc-private.h \
90-
$(top_srcdir)/mongoc/mongoc-util-private.h \
91-
$(top_srcdir)/mongoc/mongoc-trace.h \
92-
$(top_srcdir)/mongoc/mongoc-write-concern-private.h
48+
mongoc/mongoc-array-private.h \
49+
mongoc/mongoc-buffer-private.h \
50+
mongoc/mongoc-client-private.h \
51+
mongoc/mongoc-collection-private.h \
52+
mongoc/mongoc-counters-private.h \
53+
mongoc/mongoc-cursor-private.h \
54+
mongoc/mongoc-cluster-private.h \
55+
mongoc/mongoc-database-private.h \
56+
mongoc/mongoc-init-private.h \
57+
mongoc/mongoc-gridfs-private.h \
58+
mongoc/mongoc-gridfs-file-private.h \
59+
mongoc/mongoc-gridfs-file-page-private.h \
60+
mongoc/mongoc-gridfs-file-list-private.h \
61+
mongoc/mongoc-list-private.h \
62+
mongoc/mongoc-queue-private.h \
63+
mongoc/mongoc-read-prefs-private.h \
64+
mongoc/mongoc-rpc-private.h \
65+
mongoc/mongoc-util-private.h \
66+
mongoc/mongoc-trace.h \
67+
mongoc/mongoc-write-concern-private.h
9368
if HAVE_SSL
9469
NOINST_H_FILES += \
95-
$(top_srcdir)/mongoc/mongoc-ssl-private.h
70+
mongoc/mongoc-ssl-private.h
9671
endif
9772

9873

9974
libmongoc_priv_la_SOURCES = \
10075
$(INST_H_FILES) \
10176
$(NOINST_H_FILES) \
102-
$(top_srcdir)/mongoc/mongoc-array.c \
103-
$(top_srcdir)/mongoc/mongoc-buffer.c \
104-
$(top_srcdir)/mongoc/mongoc-client.c \
105-
$(top_srcdir)/mongoc/mongoc-client-pool.c \
106-
$(top_srcdir)/mongoc/mongoc-cluster.c \
107-
$(top_srcdir)/mongoc/mongoc-collection.c \
108-
$(top_srcdir)/mongoc/mongoc-counters.c \
109-
$(top_srcdir)/mongoc/mongoc-cursor.c \
110-
$(top_srcdir)/mongoc/mongoc-database.c \
111-
$(top_srcdir)/mongoc/mongoc-init.c \
112-
$(top_srcdir)/mongoc/mongoc-gridfs.c \
113-
$(top_srcdir)/mongoc/mongoc-gridfs-file.c \
114-
$(top_srcdir)/mongoc/mongoc-gridfs-file-page.c \
115-
$(top_srcdir)/mongoc/mongoc-gridfs-file-list.c \
116-
$(top_srcdir)/mongoc/mongoc-index.c \
117-
$(top_srcdir)/mongoc/mongoc-list.c \
118-
$(top_srcdir)/mongoc/mongoc-log.c \
119-
$(top_srcdir)/mongoc/mongoc-queue.c \
120-
$(top_srcdir)/mongoc/mongoc-read-prefs.c \
121-
$(top_srcdir)/mongoc/mongoc-rpc.c \
122-
$(top_srcdir)/mongoc/mongoc-stream.c \
123-
$(top_srcdir)/mongoc/mongoc-stream-buffered.c \
124-
$(top_srcdir)/mongoc/mongoc-stream-gridfs.c \
125-
$(top_srcdir)/mongoc/mongoc-stream-unix.c \
126-
$(top_srcdir)/mongoc/mongoc-uri.c \
127-
$(top_srcdir)/mongoc/mongoc-util.c \
128-
$(top_srcdir)/mongoc/mongoc-write-concern.c
77+
mongoc/mongoc-array.c \
78+
mongoc/mongoc-buffer.c \
79+
mongoc/mongoc-client.c \
80+
mongoc/mongoc-client-pool.c \
81+
mongoc/mongoc-cluster.c \
82+
mongoc/mongoc-collection.c \
83+
mongoc/mongoc-counters.c \
84+
mongoc/mongoc-cursor.c \
85+
mongoc/mongoc-database.c \
86+
mongoc/mongoc-init.c \
87+
mongoc/mongoc-gridfs.c \
88+
mongoc/mongoc-gridfs-file.c \
89+
mongoc/mongoc-gridfs-file-page.c \
90+
mongoc/mongoc-gridfs-file-list.c \
91+
mongoc/mongoc-index.c \
92+
mongoc/mongoc-list.c \
93+
mongoc/mongoc-log.c \
94+
mongoc/mongoc-queue.c \
95+
mongoc/mongoc-read-prefs.c \
96+
mongoc/mongoc-rpc.c \
97+
mongoc/mongoc-stream.c \
98+
mongoc/mongoc-stream-buffered.c \
99+
mongoc/mongoc-stream-gridfs.c \
100+
mongoc/mongoc-stream-unix.c \
101+
mongoc/mongoc-uri.c \
102+
mongoc/mongoc-util.c \
103+
mongoc/mongoc-write-concern.c
104+
129105
if HAVE_SSL
130106
libmongoc_priv_la_SOURCES += \
131-
$(top_srcdir)/mongoc/mongoc-stream-tls.c \
132-
$(top_srcdir)/mongoc/mongoc-ssl.c
107+
mongoc/mongoc-stream-tls.c \
108+
mongoc/mongoc-ssl.c
133109
endif
134110

135111

@@ -151,11 +127,11 @@ libmongoc_1_0_la_LIBADD = libmongoc-priv.la
151127
libmongoc_1_0_la_LDFLAGS = \
152128
$(MONGOC_LT_LDFLAGS) \
153129
-no-undefined \
154-
-export-symbols $(top_srcdir)/mongoc/libmongoc.symbols \
130+
-export-symbols-regex "^mongoc_" \
155131
-rpath $(libdir)
156132

157133

158134
EXTRA_DIST += \
159-
$(top_srcdir)/mongoc/mongoc-counters.defs \
160-
$(top_srcdir)/mongoc/libmongoc.symbols
135+
mongoc/mongoc-counters.defs \
136+
mongoc/libmongoc.symbols
161137

mongoc/libmongoc-ssl.symbols

Lines changed: 0 additions & 3 deletions
This file was deleted.

mongoc/libmongoc-base.symbols renamed to mongoc/libmongoc.symbols

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ mongoc_client_pool_pop
1313
mongoc_client_pool_push
1414
mongoc_client_pool_try_pop
1515
mongoc_client_set_read_prefs
16+
mongoc_client_set_ssl_opts
1617
mongoc_client_set_write_concern
1718
mongoc_collection_aggregate
1819
mongoc_collection_aggregate_legacy
@@ -23,11 +24,13 @@ mongoc_collection_delete
2324
mongoc_collection_destroy
2425
mongoc_collection_drop
2526
mongoc_collection_drop_index
27+
mongoc_collection_ensure_index
2628
mongoc_collection_find
2729
mongoc_collection_get_read_prefs
2830
mongoc_collection_get_write_concern
2931
mongoc_collection_insert
3032
mongoc_collection_insert_bulk
33+
mongoc_collection_keys_to_index_string
3134
mongoc_collection_save
3235
mongoc_collection_set_read_prefs
3336
mongoc_collection_set_write_concern
@@ -48,7 +51,33 @@ mongoc_database_get_write_concern
4851
mongoc_database_has_collection
4952
mongoc_database_set_read_prefs
5053
mongoc_database_set_write_concern
54+
mongoc_gridfs_create_file
55+
mongoc_gridfs_create_file_from_stream
56+
mongoc_gridfs_destroy
57+
mongoc_gridfs_drop
58+
mongoc_gridfs_file_destroy
59+
mongoc_gridfs_file_get_aliases
60+
mongoc_gridfs_file_get_content_type
61+
mongoc_gridfs_file_get_filename
62+
mongoc_gridfs_file_get_md5
63+
mongoc_gridfs_file_get_metadata
64+
mongoc_gridfs_file_list_destroy
65+
mongoc_gridfs_file_list_next
66+
mongoc_gridfs_file_readv
67+
mongoc_gridfs_file_save
68+
mongoc_gridfs_file_seek
69+
mongoc_gridfs_file_set_aliases
70+
mongoc_gridfs_file_set_content_type
71+
mongoc_gridfs_file_set_filename
72+
mongoc_gridfs_file_set_md5
73+
mongoc_gridfs_file_set_metadata
74+
mongoc_gridfs_file_writev
75+
mongoc_gridfs_find
76+
mongoc_gridfs_find_one
77+
mongoc_gridfs_find_one_by_filename
5178
mongoc_host_list_from_string
79+
mongoc_index_opt_get_default
80+
mongoc_index_opt_init
5281
mongoc_init
5382
mongoc_log
5483
mongoc_log_set_handler
@@ -61,13 +90,19 @@ mongoc_read_prefs_is_valid
6190
mongoc_read_prefs_new
6291
mongoc_read_prefs_set_mode
6392
mongoc_read_prefs_set_tags
93+
mongoc_ssl_opt_get_default
94+
mongoc_stream_buffered_new
6495
mongoc_stream_close
6596
mongoc_stream_cork
6697
mongoc_stream_destroy
6798
mongoc_stream_flush
99+
mongoc_stream_gridfs_new
68100
mongoc_stream_read
69101
mongoc_stream_readv
70102
mongoc_stream_setsockopt
103+
mongoc_stream_tls_check_cert
104+
mongoc_stream_tls_do_handshake
105+
mongoc_stream_tls_new
71106
mongoc_stream_uncork
72107
mongoc_stream_unix_new
73108
mongoc_stream_writev

mongoc/mongoc-client-private.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@
2424
#include "mongoc-buffer-private.h"
2525
#include "mongoc-client.h"
2626
#include "mongoc-cluster-private.h"
27+
#include "mongoc-config.h"
2728
#include "mongoc-host-list.h"
2829
#include "mongoc-read-prefs.h"
2930
#include "mongoc-rpc-private.h"
3031
#include "mongoc-stream.h"
3132
#include "mongoc-write-concern.h"
32-
#include "mongoc-build.h"
3333

34-
#ifdef MONGOC_HAVE_SSL
34+
#ifdef MONGOC_ENABLE_SSL
3535
#include "mongoc-ssl.h"
3636
#endif
3737

@@ -48,7 +48,8 @@ struct _mongoc_client_t
4848

4949
mongoc_stream_initiator_t initiator;
5050
void *initiator_data;
51-
#ifdef MONGOC_HAVE_SSL
51+
52+
#ifdef MONGOC_ENABLE_SSL
5253
mongoc_ssl_opt_t ssl_opts;
5354
#endif
5455

0 commit comments

Comments
 (0)