Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add -stdlib=libc++ flag when building snappy #258

Open
wants to merge 53 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
bca0888
unsigned long for memory_sz so it compiles on scaleway / arm
bougueil Aug 13, 2015
70c648f
Don't use deprecated erlang:now/0
lemenkov Apr 15, 2016
d7b0fc3
update BASHO_RELEASES
Sep 7, 2016
14cff4f
Make multi_backend compression settings commented
nickelization Sep 13, 2016
54bc385
Merge pull request #218 from basho/nem-comment-multi-backend-compress…
Sep 13, 2016
5c93adf
Merge pull request #190 from lemenkov/deprecated_fun
bsparrow435 Oct 4, 2016
ce05053
Merge pull request #144 from bougueil/bougueil-patch-1
bsparrow435 Oct 4, 2016
47f8842
update for tag 2.0.30
Oct 11, 2016
68d201b
Switch the few remaining naked pointer uses to reference counted poin…
Oct 17, 2016
576ca48
Make LevelIteratorWrap an embedded object instead of dynamic ref coun…
Oct 17, 2016
fb90ec3
remove stale iterator debug logging code
Oct 17, 2016
0d3ee8f
create special case RefDec to deal with AAE multi-process issue.
Oct 28, 2016
84337db
update to use combined leveldb branches: mv-no-md-expiry and mv-tuning8
Oct 31, 2016
22b4869
Merge pull request #221 from basho/mv-ref-hardening
Nov 1, 2016
17cdb0d
clean LEVELDB_VSN in build_deps.sh and update BASHO_RELEASES
Nov 1, 2016
71458ee
more iterator hardening against two thread use case. moved from 2.0 …
Nov 9, 2016
a350fcf
Port submit_to_thread_queue() from riak_ts-develop to develop
Nov 10, 2016
efbc928
Merge pull request #226 from basho/submit_to_thread_queue
Nov 16, 2016
4043f13
Use CreateExpiryModule() instead of new so EE and OS version of level…
Nov 18, 2016
71223cf
tie this branch to same name in leveldb ... for testing
Nov 18, 2016
5427991
busted: failed to compile and unit test before check-in.
Nov 18, 2016
b6e01c9
remove explicity dependency to mv-bucket-expiry prior to merge
Nov 21, 2016
064e0ab
add comments for 2.0.33 tag
Nov 21, 2016
c59609f
revert previous eleveldb.cc check-in
Nov 21, 2016
c5c5fdc
Merge pull request #228 from basho/mv-bucket-expiry
Nov 21, 2016
e26bbd1
Backport submit_to_thread_queue()
Nov 21, 2016
a23a9fb
Refactor workitems.{h,cc}
Nov 23, 2016
be72d53
Merge pull request #229 from basho/bch-submit_to_thread_queue-refactor
Dec 21, 2016
b593a41
Merge pull request #230 from basho/bch-refactor-workitems
Dec 21, 2016
08ea482
Disable shared library creation
Jan 26, 2017
996cb43
Merge pull request #237 from basho/cv-disable-snappy-dylibs
Jan 26, 2017
bdd970d
Fix eleveldb module tests so they run.
tburghart Jan 28, 2017
8780b3d
Fix tests so they clean up after themselves.
tburghart Jan 28, 2017
31952a9
Make test_open_many relative to the number of schedulers so it won't …
tburghart Jan 28, 2017
41f67a0
More tweaks to handle lightweight builder VMs.
tburghart Jan 28, 2017
db0d66d
Another try at not overloading test platforms.
tburghart Jan 29, 2017
2ba6415
Added flag for MACOSX_DEPLOYMENT_TARGET = 10.8
Jan 30, 2017
254cba3
Merge pull request #241 from basho/cv-disable-snappy-dylibs
Feb 2, 2017
89a5756
Change left-margin single-percent comments to double-percent to keep …
tburghart Feb 4, 2017
4e63b92
Merge pull request #240 from basho/trb-test-cleanup
tburghart Feb 13, 2017
9099f80
update release notes to 2.0.34
Feb 15, 2017
36adc40
Riak specific functions to allow leveldb to retrieve Riak bucket prop…
Mar 16, 2017
bfb4316
Riak specific functions to allow leveldb to retrieve Riak bucket prop…
Mar 16, 2017
4d6920a
add new NIF functions that enable leveldb to retrieve Riak bucket pro…
Mar 16, 2017
251c86d
remove stray debug performance counter
Mar 16, 2017
0e06784
add new expiry atoms, and generally bring this file back up to date
Mar 16, 2017
0dea2cb
remove special handling of unlimited in expiry minutes
Mar 16, 2017
e44048a
remove special handling of unlimited in expiry minutes
Mar 16, 2017
446f351
unit tests for EE build of Riak eleveldb
Mar 16, 2017
3585ada
update options used with expiry. creating NIF routine entries for ne…
Mar 16, 2017
86276b5
-stdlib=libc++ flag added for Darwin target. It fixes MACOS Mojave bu…
rodiazet Feb 11, 2019
7920245
Merge pull request #245 from rodiazet/develop
martinsumner Mar 7, 2019
f9b9aae
Add -stdlib=libc++ flag when building snappy
Dec 10, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions BASHO_RELEASES
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
github.com tag 2.0.34 - February 15, 2017
-----------------------------------------
mv-hot-backup2: - correct MakeTieredDbname() within db/filename.cc
for case where dbname input is blank and fast/slow
already populated in options. Corrects issue
with hot backup in non-tiered storage situations

github.com tag 2.0.33 - November 21, 2016
-----------------------------------------
mv-bucket-expiry: - partial branch to enable X-Riak-Meta-Expiry-Base-Seconds
property within enterprise edition

github.com tag 2.0.32 - November 8, 2016
----------------------------------------
- version shipped with Riak 2.2
** additional race condition hardening when faced with two threads on same iterator
** (one iterating async_iterator_move() and one closing async_iterator_close())
- wrap async_iterator_move operations with locked CloseMutex
- create and then use new manual SpinLock within RetrieveItrObject
- adapt origin spin lock code for Solaris / SmartOS compiling

github.com tag 2.0.31 - November 1, 2016
----------------------------------------
- includes leveldb 2.0.31 (mv-no-md-expiry & mv-tuning8)
mv-ref-hardening: - series of thread hardening changes
related to AAE use of iterators. Biggest
fix was isolating AAE using one thread to
close while another was still moving, then
defending against it

github.com tag 2.0.30 - October 11, 2016
----------------------------------------
- includes leveldb 2.0.30 (mv-delayed-bloom)

github.com tag 2.0.28 - September 7, 2016
-----------------------------------------
Clarify which compression algorithm used for default:
1. leveldb open source users: lz4 default
2. eleveldb open source users: snappy default
3. riak.conf / app.config users of older generation: snappy default
4. riak.conf from Riak 2.2: lz4 default

github.com tag 2.0.27 - August 22, 2016
---------------------------------------
mv-mem-fences: fix iterator double delete bug in eleveldb and
Expand Down
47 changes: 42 additions & 5 deletions c_src/atoms.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//
// eleveldb: Erlang Wrapper for LevelDB (http://code.google.com/p/leveldb/)
//
// Copyright (c) 2011-2013 Basho Technologies, Inc. All Rights Reserved.
// Copyright (c) 2011-2017 Basho Technologies, Inc. All Rights Reserved.
//
// This file is provided to you under the Apache License,
// Version 2.0 (the "License"); you may not use this file
Expand All @@ -23,9 +23,16 @@
#ifndef ATOMS_H
#define ATOMS_H

extern "C" {

#include "erl_nif.h"

}

namespace eleveldb {

// Atoms (initialized in on_load)
// This is mirror of non-externs in eleveldb.cc
extern ERL_NIF_TERM ATOM_TRUE;
extern ERL_NIF_TERM ATOM_FALSE;
extern ERL_NIF_TERM ATOM_OK;
Expand All @@ -35,15 +42,15 @@ extern ERL_NIF_TERM ATOM_BADARG;
extern ERL_NIF_TERM ATOM_CREATE_IF_MISSING;
extern ERL_NIF_TERM ATOM_ERROR_IF_EXISTS;
extern ERL_NIF_TERM ATOM_WRITE_BUFFER_SIZE;
extern ERL_NIF_TERM ATOM_MAX_OPEN_FILES;
extern ERL_NIF_TERM ATOM_BLOCK_SIZE; /* DEPRECATED */
extern ERL_NIF_TERM ATOM_SST_BLOCK_SIZE;
extern ERL_NIF_TERM ATOM_BLOCK_SIZE_STEPS;
extern ERL_NIF_TERM ATOM_BLOCK_RESTART_INTERVAL;
extern ERL_NIF_TERM ATOM_ERROR_DB_OPEN;
extern ERL_NIF_TERM ATOM_ERROR_DB_PUT;
extern ERL_NIF_TERM ATOM_NOT_FOUND;
extern ERL_NIF_TERM ATOM_VERIFY_CHECKSUMS;
extern ERL_NIF_TERM ATOM_FILL_CACHE;
extern ERL_NIF_TERM ATOM_ITERATOR_REFRESH;
extern ERL_NIF_TERM ATOM_SYNC;
extern ERL_NIF_TERM ATOM_ERROR_DB_DELETE;
extern ERL_NIF_TERM ATOM_CLEAR;
Expand All @@ -57,15 +64,45 @@ extern ERL_NIF_TERM ATOM_FIRST;
extern ERL_NIF_TERM ATOM_LAST;
extern ERL_NIF_TERM ATOM_NEXT;
extern ERL_NIF_TERM ATOM_PREV;
extern ERL_NIF_TERM ATOM_PREFETCH;
extern ERL_NIF_TERM ATOM_PREFETCH_STOP;
extern ERL_NIF_TERM ATOM_INVALID_ITERATOR;
extern ERL_NIF_TERM ATOM_CACHE_SIZE;
extern ERL_NIF_TERM ATOM_PARANOID_CHECKS;
extern ERL_NIF_TERM ATOM_VERIFY_COMPACTIONS;
extern ERL_NIF_TERM ATOM_ERROR_DB_DESTROY;
extern ERL_NIF_TERM ATOM_KEYS_ONLY;
extern ERL_NIF_TERM ATOM_COMPRESSION;
extern ERL_NIF_TERM ATOM_ON;
extern ERL_NIF_TERM ATOM_OFF;
extern ERL_NIF_TERM ATOM_SNAPPY;
extern ERL_NIF_TERM ATOM_LZ4;
extern ERL_NIF_TERM ATOM_ERROR_DB_REPAIR;
extern ERL_NIF_TERM ATOM_USE_BLOOMFILTER;

extern ERL_NIF_TERM ATOM_TOTAL_MEMORY;
extern ERL_NIF_TERM ATOM_TOTAL_LEVELDB_MEM;
extern ERL_NIF_TERM ATOM_TOTAL_LEVELDB_MEM_PERCENT;
extern ERL_NIF_TERM ATOM_BLOCK_CACHE_THRESHOLD;
extern ERL_NIF_TERM ATOM_IS_INTERNAL_DB;
extern ERL_NIF_TERM ATOM_LIMITED_DEVELOPER_MEM;
extern ERL_NIF_TERM ATOM_ELEVELDB_THREADS;
extern ERL_NIF_TERM ATOM_FADVISE_WILLNEED;
extern ERL_NIF_TERM ATOM_DELETE_THRESHOLD;
extern ERL_NIF_TERM ATOM_TIERED_SLOW_LEVEL;
extern ERL_NIF_TERM ATOM_TIERED_FAST_PREFIX;
extern ERL_NIF_TERM ATOM_TIERED_SLOW_PREFIX;
extern ERL_NIF_TERM ATOM_CACHE_OBJECT_WARMING;
extern ERL_NIF_TERM ATOM_EXPIRATION;
extern ERL_NIF_TERM ATOM_DEFAULT_TIME_TO_LIVE;
extern ERL_NIF_TERM ATOM_EXPIRATION_MODE;
extern ERL_NIF_TERM ATOM_ENABLED;
extern ERL_NIF_TERM ATOM_WHOLE_FILE;
extern ERL_NIF_TERM ATOM_PER_ITEM;
extern ERL_NIF_TERM ATOM_INVOKE;
extern ERL_NIF_TERM ATOM_UNLIMITED;
extern ERL_NIF_TERM ATOM_EXPIRY_ENABLED;
extern ERL_NIF_TERM ATOM_EXPIRY_MINUTES;
extern ERL_NIF_TERM ATOM_WHOLE_FILE_EXPIRY;
extern ERL_NIF_TERM ATOM_BUCKET_PROPS;
} // namespace eleveldb


Expand Down
6 changes: 4 additions & 2 deletions c_src/build_deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,15 @@ case "$1" in
;;

*)
export MACOSX_DEPLOYMENT_TARGET=10.8

if [ ! -d snappy-$SNAPPY_VSN ]; then
tar -xzf snappy-$SNAPPY_VSN.tar.gz
(cd snappy-$SNAPPY_VSN && ./configure --prefix=$BASEDIR/system --libdir=$BASEDIR/system/lib --with-pic)
(cd snappy-$SNAPPY_VSN && ./configure --disable-shared --prefix=$BASEDIR/system --libdir=$BASEDIR/system/lib --with-pic)
fi

if [ ! -f system/lib/libsnappy.a ]; then
(cd snappy-$SNAPPY_VSN && $MAKE && $MAKE install)
(cd snappy-$SNAPPY_VSN && $MAKE -stdlib=libc++ && $MAKE -stdlib=libc++ install)
fi

export CFLAGS="$CFLAGS -I $BASEDIR/system/include"
Expand Down
Loading