Skip to content

Commit ead2302

Browse files
author
agazso
committed
Added initial Perl SWIG client.
1 parent bd6545e commit ead2302

File tree

8 files changed

+5969
-7
lines changed

8 files changed

+5969
-7
lines changed

Makefile

+33-4
Original file line numberDiff line numberDiff line change
@@ -251,9 +251,8 @@ $(BIN_DIR)/$(PHP_DIR)/$(PHP_LIB): $(BIN_DIR)/$(ALIB) $(SWIG_WRAPPER_OBJECT) $(BU
251251

252252
# ruby wrapper
253253
RUBY_DIR = ruby
254-
RUBY_LIB = keyspace_client.bundle
254+
RUBY_LIB = keyspace_client.$(BUNDLEEXT)
255255
RUBY_INCLUDE =
256-
RUBY_CONFIG =
257256

258257
RUBY_CLIENT_DIR = $(CLIENT_DIR)/Ruby
259258
RUBY_CLIENT_WRAPPER = $(RUBY_CLIENT_DIR)/keyspace_client_ruby
@@ -270,6 +269,27 @@ $(BIN_DIR)/$(RUBY_DIR)/$(RUBY_LIB): $(BIN_DIR)/$(ALIB) $(SWIG_WRAPPER_OBJECT) $(
270269
$(CXX) $(SWIG_LDFLAGS) -o $@ $(BUILD_DIR)/$(RUBY_CLIENT_WRAPPER).o $(SWIG_WRAPPER_OBJECT) $(BIN_DIR)/$(ALIB)
271270
-cp -rf $(SRC_DIR)/$(RUBY_CLIENT_DIR)/keyspace.rb $(BIN_DIR)/$(RUBY_DIR)
272271

272+
# perl wrapper
273+
PERL_DIR = perl
274+
PERL_LIB = keyspace_client.$(BUNDLEEXT)
275+
PERL_INCLUDE = -I/opt/local/lib/perl5/5.8.9/darwin-2level/CORE/ -I/usr/lib/perl/5.10/CORE/
276+
277+
PERL_CLIENT_DIR = $(CLIENT_DIR)/Perl
278+
PERL_CLIENT_WRAPPER = $(PERL_CLIENT_DIR)/keyspace_client_perl
279+
PERLLIB = $(BIN_DIR)/$(PERL_DIR)/$(PERL_LIB)
280+
281+
$(SRC_DIR)/$(PERL_CLIENT_WRAPPER).cpp: $(CLIENT_WRAPPER_FILES)
282+
-swig -perl -c++ -outdir $(SRC_DIR)/$(PERL_CLIENT_DIR) -o $@ -I$(SRC_DIR)/$(PERL_CLIENT_DIR) $(SRC_DIR)/$(CLIENT_DIR)/keyspace_client.i
283+
284+
$(BUILD_DIR)/$(PERL_CLIENT_WRAPPER).o: $(BUILD_DIR) $(SRC_DIR)/$(PERL_CLIENT_WRAPPER).cpp
285+
$(CXX) $(CXXFLAGS) $(PERL_INCLUDE) -I$(SRC_DIR)/$(PERL_CLIENT_DIR) -o $@ -c $(SRC_DIR)/$(PERL_CLIENT_WRAPPER).cpp
286+
287+
$(BIN_DIR)/$(PERL_DIR)/$(PERL_LIB): $(BIN_DIR)/$(ALIB) $(SWIG_WRAPPER_OBJECT) $(BUILD_DIR)/$(PERL_CLIENT_WRAPPER).o
288+
-mkdir -p $(BIN_DIR)/$(PERL_DIR)
289+
$(CXX) $(SWIG_LDFLAGS) -o $@ $(BUILD_DIR)/$(PERL_CLIENT_WRAPPER).o $(SWIG_WRAPPER_OBJECT) $(BIN_DIR)/$(ALIB)
290+
-cp -rf $(SRC_DIR)/$(PERL_CLIENT_DIR)/keyspace.pm $(BIN_DIR)/$(PERL_DIR)
291+
-cp -rf $(SRC_DIR)/$(PERL_CLIENT_DIR)/keyspace_client.pm $(BIN_DIR)/$(PERL_DIR)
292+
273293
# executables
274294
$(BIN_DIR)/keyspaced: $(BUILD_DIR) $(LIBS) $(OBJECTS)
275295
$(CXX) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
@@ -306,6 +326,8 @@ phplib: $(BUILD_DIR) $(CLIENTLIBS) $(PHPLIB)
306326

307327
rubylib: $(BUILD_DIR) $(CLIENTLIBS) $(RUBYLIB)
308328

329+
perllib: $(BUILD_DIR) $(CLIENTLIBS) $(PERLLIB)
330+
309331
targets: $(BUILD_DIR) executables clientlibs
310332

311333
clientlibs: $(BUILD_DIR) $(CLIENTLIBS)
@@ -347,7 +369,7 @@ clean-release:
347369
-rm -f $(BASE_DIR)/keyspace
348370
-rm -r -f $(BUILD_RELEASE_DIR)
349371

350-
clean-libs: clean-pythonlib clean-phplib clean-javalib clean-rubylib
372+
clean-libs: clean-pythonlib clean-phplib clean-javalib clean-rubylib clean-perllib
351373
-rm $(CLIENTLIBS)
352374

353375
clean-pythonlib:
@@ -365,6 +387,10 @@ clean-rubylib:
365387
-rm $(BUILD_DIR)/$(RUBY_CLIENT_DIR)/*
366388
-rm $(BIN_DIR)/$(RUBY_DIR)/*
367389

390+
clean-perllib:
391+
-rm $(BUILD_DIR)/$(PERL_CLIENT_DIR)/*
392+
-rm $(BIN_DIR)/$(PERL_DIR)/*
393+
368394
clean-pythonlib-swig:
369395
-rm $(SRC_DIR)/$(PYTHON_CLIENT_WRAPPER).cpp
370396

@@ -377,7 +403,10 @@ clean-phplib-swig:
377403
clean-rubylib-swig:
378404
-rm $(SRC_DIR)/$(RUBY_CLIENT_WRAPPER).cpp
379405

380-
clean-swig: clean-pythonlib-swig clean-javalib-swig clean-phplib-swig clean-rubylib-swig
406+
clean-perllib-swig:
407+
-rm $(SRC_DIR)/$(PERL_CLIENT_WRAPPER).cpp
408+
409+
clean-swig: clean-pythonlib-swig clean-javalib-swig clean-phplib-swig clean-rubylib-swig clean-perllib-swig
381410

382411
clean-executables:
383412
-rm $(EXECUTABLES)

Makefile.Darwin

+1
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ BASE_LDFLAGS = -L/opt/local/lib/db46 -L/usr/local/lib/db4 -lpthread -ldb_cxx $(L
1515
SOLINK = -Xlinker -x -fPIC -dylib -undefined dynamic_lookup -bundle
1616
SOEXT = dylib
1717
SWIG_LDFLAGS = -bundle -flat_namespace -undefined suppress
18+
BUNDLEEXT = bundle

Makefile.Linux

+1
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ BASE_LDFLAGS = -lpthread -ldb_cxx -lrt $(LDPATH)
1414
SOLINK = -shared -fPIC -Wl,-soname,$(SONAME)
1515
SOEXT = so
1616
SWIG_LDFLAGS = -shared -fPIC
17+
BUNDLEEXT = so

Makefile.dirs

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ $(BUILD_DIR):
99
$(BUILD_DIR)/Application/Keyspace/Catchup \
1010
$(BUILD_DIR)/Application/Keyspace/Client/ \
1111
$(BUILD_DIR)/Application/Keyspace/Client/Java \
12+
$(BUILD_DIR)/Application/Keyspace/Client/Perl \
1213
$(BUILD_DIR)/Application/Keyspace/Client/PHP \
1314
$(BUILD_DIR)/Application/Keyspace/Client/Python \
1415
$(BUILD_DIR)/Application/Keyspace/Client/Ruby \

0 commit comments

Comments
 (0)