1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# mongodb 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunMONGODB_VERSION = 4.2.11 8*4882a593SmuzhiyunMONGODB_SITE = https://fastdl.mongodb.org/src 9*4882a593SmuzhiyunMONGODB_SOURCE = mongodb-src-r$(MONGODB_VERSION).tar.gz 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunMONGODB_LICENSE = Apache-2.0 (drivers), SSPL (database) 12*4882a593SmuzhiyunMONGODB_LICENSE_FILES = APACHE-2.0.txt LICENSE-Community.txt 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunMONGODB_CPE_ID_VENDOR = mongodb 15*4882a593SmuzhiyunMONGODB_SELINUX_MODULES = mongodb 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunMONGODB_DEPENDENCIES = \ 18*4882a593Smuzhiyun boost \ 19*4882a593Smuzhiyun host-python3-cheetah \ 20*4882a593Smuzhiyun host-python3-psutil \ 21*4882a593Smuzhiyun host-python3-pyyaml \ 22*4882a593Smuzhiyun host-python3-regex \ 23*4882a593Smuzhiyun host-python-requests \ 24*4882a593Smuzhiyun host-scons \ 25*4882a593Smuzhiyun pcre \ 26*4882a593Smuzhiyun snappy \ 27*4882a593Smuzhiyun sqlite \ 28*4882a593Smuzhiyun yaml-cpp \ 29*4882a593Smuzhiyun zlib 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunMONGODB_SCONS_TARGETS = mongod mongos 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunMONGODB_SCONS_ENV = CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" \ 34*4882a593Smuzhiyun -j"$(PARALLEL_JOBS)" 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunMONGODB_SCONS_OPTS = \ 37*4882a593Smuzhiyun --disable-minimum-compiler-version-enforcement \ 38*4882a593Smuzhiyun --disable-warnings-as-errors \ 39*4882a593Smuzhiyun --use-system-boost \ 40*4882a593Smuzhiyun --use-system-pcre \ 41*4882a593Smuzhiyun --use-system-snappy \ 42*4882a593Smuzhiyun --use-system-sqlite \ 43*4882a593Smuzhiyun --use-system-yaml \ 44*4882a593Smuzhiyun --use-system-zlib 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun# need to pass mongo version when not building from git repo 47*4882a593SmuzhiyunMONGODB_SCONS_OPTS += MONGO_VERSION=$(MONGODB_VERSION)- 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun# WiredTiger database storage engine only supported on 64 bits 50*4882a593Smuzhiyunifeq ($(BR2_ARCH_IS_64),y) 51*4882a593SmuzhiyunMONGODB_SCONS_OPTS += --wiredtiger=on 52*4882a593Smuzhiyunelse 53*4882a593SmuzhiyunMONGODB_SCONS_OPTS += --wiredtiger=off 54*4882a593Smuzhiyunendif 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun# JavaScript scripting engine and tcmalloc supported only on 57*4882a593Smuzhiyun# x86/x86-64 systems. Mongo target is a shell interface that 58*4882a593Smuzhiyun# depends on the javascript engine, so it will also only be 59*4882a593Smuzhiyun# built on x86/x86-64 systems. 60*4882a593Smuzhiyunifeq ($(BR2_i386)$(BR2_x86_64),y) 61*4882a593SmuzhiyunMONGODB_SCONS_OPTS += --js-engine=mozjs --allocator=tcmalloc 62*4882a593SmuzhiyunMONGODB_SCONS_TARGETS += mongo 63*4882a593Smuzhiyunelse 64*4882a593SmuzhiyunMONGODB_SCONS_OPTS += --js-engine=none --allocator=system 65*4882a593Smuzhiyunendif 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBCURL),y) 68*4882a593SmuzhiyunMONGODB_DEPENDENCIES += libcurl 69*4882a593SmuzhiyunMONGODB_SCONS_OPTS += \ 70*4882a593Smuzhiyun --enable-free-mon=on \ 71*4882a593Smuzhiyun --enable-http-client=on 72*4882a593Smuzhiyunelse 73*4882a593SmuzhiyunMONGODB_SCONS_OPTS += \ 74*4882a593Smuzhiyun --enable-free-mon=off \ 75*4882a593Smuzhiyun --enable-http-client=off 76*4882a593Smuzhiyunendif 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENSSL),y) 79*4882a593SmuzhiyunMONGODB_DEPENDENCIES += openssl 80*4882a593SmuzhiyunMONGODB_SCONS_OPTS += \ 81*4882a593Smuzhiyun --ssl=on \ 82*4882a593Smuzhiyun --ssl-provider=openssl 83*4882a593Smuzhiyunelse 84*4882a593SmuzhiyunMONGODB_SCONS_OPTS += --ssl=off 85*4882a593Smuzhiyunendif 86*4882a593Smuzhiyun 87*4882a593Smuzhiyundefine MONGODB_BUILD_CMDS 88*4882a593Smuzhiyun (cd $(@D); \ 89*4882a593Smuzhiyun $(HOST_DIR)/bin/python3 $(SCONS) \ 90*4882a593Smuzhiyun $(MONGODB_SCONS_ENV) \ 91*4882a593Smuzhiyun $(MONGODB_SCONS_OPTS) \ 92*4882a593Smuzhiyun $(MONGODB_SCONS_TARGETS)) 93*4882a593Smuzhiyunendef 94*4882a593Smuzhiyun 95*4882a593Smuzhiyundefine MONGODB_INSTALL_TARGET_CMDS 96*4882a593Smuzhiyun (cd $(@D); \ 97*4882a593Smuzhiyun $(HOST_DIR)/bin/python3 $(SCONS) \ 98*4882a593Smuzhiyun $(MONGODB_SCONS_ENV) \ 99*4882a593Smuzhiyun $(MONGODB_SCONS_OPTS) \ 100*4882a593Smuzhiyun --prefix=$(TARGET_DIR)/usr \ 101*4882a593Smuzhiyun install) 102*4882a593Smuzhiyunendef 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun$(eval $(generic-package)) 105