diff --git a/.gitignore b/.gitignore
index 31e4b606b..b3d60fac1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,6 +21,7 @@ src/*.o
src/mtrace.txt
src/outbin
src/czmq_selftest
+doc/*.1
doc/*.3
doc/*.7
doc/*.xml
@@ -94,38 +95,16 @@ examples/zpubsub/zprototest/*.bnf
examples/zpubsub/zprototest/test_publisher
examples/zpubsub/zprototest/test_subscriber
src/test_zgossip
-labs/.deps/
-labs/.libs/
-labs/*.o
-labs/*.lo
-labs/*.pc
-
+.deps
+.libs
.cproject
.project
+.dirstamp
*~
-labs/*.lo
-labs/*.o
-labs/.deps/
-labs/.libs/
-labs/Makefile
-labs/Makefile.in
-labs/core
-labs/czmq_labs.la
-labs/czmq_labs_selftest
-labs/czmq_labs_selftest.log
-labs/czmq_labs_selftest.trs
-labs/libczmq_labs.pc
-labs/malloc.txt
-labs/mtrace.txt
-labs/outbin
-labs/test-suite.log
ChangeLog
.libs/
czmq_labs_selftest*
czmq_selftest*
makecert
test-suite.log
-addons/.dirstamp
-labs/.dirstamp
-src/.dirstamp
*.pyc
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bce0a4d10..e13d27bfe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -134,6 +134,11 @@ set (czmq_headers
src/zgossip_engine.inc
src/zhash_primes.inc
src/zclass_example.xml
+ src/foreign/sha1/sha1.inc_c
+ src/foreign/sha1/sha1.h
+ src/foreign/slre/slre.inc_c
+ src/foreign/slre/slre.h
+ src/foreign/slre/readme.txt
)
source_group ("Header Files" FILES ${czmq_headers})
install(FILES ${czmq_headers} DESTINATION include)
diff --git a/Makefile.am b/Makefile.am
index 1b7651e8f..8dba140c4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,9 +13,10 @@ project_libs = \
${zmq_LIBS}
SUBDIRS =
+DIST_SUBDIRS =
SUBDIRS += doc
+DIST_SUBDIRS += doc
-DIST_SUBDIRS =
lib_LTLIBRARIES =
bin_PROGRAMS =
noinst_PROGRAMS =
@@ -27,6 +28,13 @@ EXTRA_DIST = \
src/zgossip_engine.inc \
src/zhash_primes.inc \
src/zclass_example.xml \
+ src/foreign/sha1/sha1.inc_c \
+ src/foreign/sha1/sha1.h \
+ src/foreign/slre/slre.inc_c \
+ src/foreign/slre/slre.h \
+ src/foreign/slre/readme.txt \
+ src/zgossip_msg.h \
+ src/czmq_classes.h \
version.sh
include $(srcdir)/src/Makemodule.am
diff --git a/builds/msvc/vs2008/czmq/czmq.vcproj b/builds/msvc/vs2008/czmq/czmq.vcproj
index 26d7cd9ef..df18742ab 100644
--- a/builds/msvc/vs2008/czmq/czmq.vcproj
+++ b/builds/msvc/vs2008/czmq/czmq.vcproj
@@ -1560,6 +1560,11 @@
+
+
+
+
+
diff --git a/builds/msvc/vs2010/czmq/czmq.vcxproj b/builds/msvc/vs2010/czmq/czmq.vcxproj
index 045558d28..d62dc0d09 100644
--- a/builds/msvc/vs2010/czmq/czmq.vcxproj
+++ b/builds/msvc/vs2010/czmq/czmq.vcxproj
@@ -83,6 +83,11 @@
+
+
+
+
+
diff --git a/builds/msvc/vs2010/czmq/czmq.vcxproj.filters b/builds/msvc/vs2010/czmq/czmq.vcxproj.filters
index d8a8aeaaf..5fb7a5068 100644
--- a/builds/msvc/vs2010/czmq/czmq.vcxproj.filters
+++ b/builds/msvc/vs2010/czmq/czmq.vcxproj.filters
@@ -150,6 +150,21 @@
src
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
diff --git a/builds/msvc/vs2012/czmq/czmq.vcxproj b/builds/msvc/vs2012/czmq/czmq.vcxproj
index c08bb4e6a..6993cb314 100644
--- a/builds/msvc/vs2012/czmq/czmq.vcxproj
+++ b/builds/msvc/vs2012/czmq/czmq.vcxproj
@@ -83,6 +83,11 @@
+
+
+
+
+
diff --git a/builds/msvc/vs2012/czmq/czmq.vcxproj.filters b/builds/msvc/vs2012/czmq/czmq.vcxproj.filters
index d8a8aeaaf..5fb7a5068 100644
--- a/builds/msvc/vs2012/czmq/czmq.vcxproj.filters
+++ b/builds/msvc/vs2012/czmq/czmq.vcxproj.filters
@@ -150,6 +150,21 @@
src
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
diff --git a/builds/msvc/vs2013/czmq/czmq.vcxproj b/builds/msvc/vs2013/czmq/czmq.vcxproj
index a3b0bb573..3e071c364 100644
--- a/builds/msvc/vs2013/czmq/czmq.vcxproj
+++ b/builds/msvc/vs2013/czmq/czmq.vcxproj
@@ -83,6 +83,11 @@
+
+
+
+
+
diff --git a/builds/msvc/vs2013/czmq/czmq.vcxproj.filters b/builds/msvc/vs2013/czmq/czmq.vcxproj.filters
index d8a8aeaaf..5fb7a5068 100644
--- a/builds/msvc/vs2013/czmq/czmq.vcxproj.filters
+++ b/builds/msvc/vs2013/czmq/czmq.vcxproj.filters
@@ -150,6 +150,21 @@
src
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
diff --git a/project.xml b/project.xml
index f626966ba..c29f39ca4 100644
--- a/project.xml
+++ b/project.xml
@@ -48,6 +48,11 @@
+
+
+
+
+
diff --git a/src/Makemodule.am b/src/Makemodule.am
index 5ffc964c2..d844d346d 100644
--- a/src/Makemodule.am
+++ b/src/Makemodule.am
@@ -105,6 +105,11 @@ src_libczmq_la_SOURCES = \
src/zgossip_engine.inc \
src/zhash_primes.inc \
src/zclass_example.xml \
+ src/foreign/sha1/sha1.inc_c \
+ src/foreign/sha1/sha1.h \
+ src/foreign/slre/slre.inc_c \
+ src/foreign/slre/slre.h \
+ src/foreign/slre/readme.txt \
src/platform.h
src_libczmq_la_CPPFLAGS = ${AM_CPPFLAGS}
diff --git a/foreign/sha1/sha1.h b/src/foreign/sha1/sha1.h
similarity index 100%
rename from foreign/sha1/sha1.h
rename to src/foreign/sha1/sha1.h
diff --git a/foreign/sha1/sha1.c b/src/foreign/sha1/sha1.inc_c
similarity index 99%
rename from foreign/sha1/sha1.c
rename to src/foreign/sha1/sha1.inc_c
index 2befaa73c..a3c699f21 100644
--- a/foreign/sha1/sha1.c
+++ b/src/foreign/sha1/sha1.inc_c
@@ -33,7 +33,7 @@
* implemented by Jun-ichiro itojun Itoh
*/
-#include "../../include/czmq.h"
+#include "../../../include/czmq.h"
#include "sha1.h"
/* constant table */
diff --git a/foreign/sha1/sha1.o b/src/foreign/sha1/sha1.o
similarity index 100%
rename from foreign/sha1/sha1.o
rename to src/foreign/sha1/sha1.o
diff --git a/foreign/slre/readme.txt b/src/foreign/slre/readme.txt
similarity index 100%
rename from foreign/slre/readme.txt
rename to src/foreign/slre/readme.txt
diff --git a/foreign/slre/slre.h b/src/foreign/slre/slre.h
similarity index 100%
rename from foreign/slre/slre.h
rename to src/foreign/slre/slre.h
diff --git a/foreign/slre/slre.c b/src/foreign/slre/slre.inc_c
similarity index 100%
rename from foreign/slre/slre.c
rename to src/foreign/slre/slre.inc_c
diff --git a/src/zdigest.c b/src/zdigest.c
index f914dc944..141468c0f 100644
--- a/src/zdigest.c
+++ b/src/zdigest.c
@@ -25,7 +25,7 @@
#include "platform.h"
#include "../include/czmq.h"
-#include "../foreign/sha1/sha1.c"
+#include "foreign/sha1/sha1.inc_c"
// Structure of our class
diff --git a/src/zrex.c b/src/zrex.c
index 8ef4274e1..7346b79eb 100644
--- a/src/zrex.c
+++ b/src/zrex.c
@@ -44,8 +44,7 @@
*/
#include "../include/czmq.h"
-#include "../foreign/slre/slre.h"
-#include "../foreign/slre/slre.c"
+#include "foreign/slre/slre.inc_c"
#define MAX_HITS 100 // Should be enough for anyone :)
diff --git a/uncrustify.cfg b/uncrustify.cfg
deleted file mode 100644
index 26a6f312c..000000000
--- a/uncrustify.cfg
+++ /dev/null
@@ -1,162 +0,0 @@
-tok_split_gte=false
-utf8_byte=false
-utf8_force=false
-indent_cmt_with_tabs=false
-indent_align_string=false
-indent_braces=false
-indent_braces_no_func=false
-indent_braces_no_class=false
-indent_braces_no_struct=false
-indent_brace_parent=false
-indent_namespace=false
-indent_extern=false
-indent_class=false
-indent_class_colon=false
-indent_else_if=false
-indent_var_def_cont=false
-indent_func_call_param=false
-indent_func_def_param=false
-indent_func_proto_param=false
-indent_func_class_param=false
-indent_func_ctor_var_param=false
-indent_template_param=false
-indent_func_param_double=false
-indent_relative_single_line_comments=false
-indent_col1_comment=false
-indent_access_spec_body=false
-indent_paren_nl=false
-indent_comma_paren=false
-indent_bool_paren=true
-indent_first_bool_expr=true
-indent_square_nl=false
-indent_preserve_sql=false
-indent_align_assign=true
-sp_balance_nested_parens=false
-align_keep_tabs=false
-align_with_tabs=false
-align_on_tabstop=false
-align_number_left=false
-align_func_params=false
-align_same_func_call_params=false
-align_var_def_colon=false
-align_var_def_attribute=false
-align_var_def_inline=false
-align_right_cmt_mix=false
-align_on_operator=false
-align_mix_var_proto=false
-align_single_line_func=false
-align_single_line_brace=false
-align_nl_cont=false
-align_left_shift=true
-align_oc_decl_colon=false
-nl_collapse_empty_body=false
-nl_assign_leave_one_liners=false
-nl_class_leave_one_liners=false
-nl_enum_leave_one_liners=false
-nl_getset_leave_one_liners=false
-nl_func_leave_one_liners=false
-nl_if_leave_one_liners=false
-nl_multi_line_cond=false
-nl_multi_line_define=false
-nl_before_case=false
-nl_after_case=false
-nl_after_return=false
-nl_after_semicolon=false
-nl_after_brace_open=false
-nl_after_brace_open_cmt=false
-nl_after_vbrace_open=false
-nl_after_vbrace_open_empty=false
-nl_after_brace_close=false
-nl_after_vbrace_close=false
-nl_define_macro=false
-nl_squeeze_ifdef=false
-nl_ds_struct_enum_cmt=false
-nl_ds_struct_enum_close_brace=false
-nl_create_if_one_liner=false
-nl_create_for_one_liner=false
-nl_create_while_one_liner=false
-ls_for_split_full=false
-ls_func_split_full=false
-nl_after_multiline_comment=false
-eat_blanks_after_open_brace=false
-eat_blanks_before_close_brace=false
-mod_full_brace_if_chain=false
-mod_pawn_semicolon=false
-mod_full_paren_if_bool=false
-mod_remove_extra_semicolon=false
-mod_sort_import=false
-mod_sort_using=false
-mod_sort_include=false
-mod_move_case_break=false
-mod_remove_empty_return=false
-cmt_indent_multi=false
-cmt_c_group=false
-cmt_c_nl_start=false
-cmt_c_nl_end=false
-cmt_cpp_group=false
-cmt_cpp_nl_start=false
-cmt_cpp_nl_end=false
-cmt_cpp_to_c=false
-cmt_star_cont=false
-cmt_multi_check_last=false
-cmt_insert_before_preproc=false
-pp_indent_at_level=false
-pp_region_indent_code=false
-pp_if_indent_code=false
-pp_define_at_level=false
-indent_columns=4
-indent_switch_case=4
-nl_start_of_file_min=1
-nl_end_of_file_min=1
-code_width=120
-mod_full_brace_nl=0
-cmt_width=90
-newlines=auto
-utf8_bom=remove
-indent_with_tabs=0
-sp_before_assign=force
-sp_after_assign=force
-sp_bool=force
-sp_compare=force
-sp_paren_brace=force
-sp_between_ptr_star=remove
-sp_before_sparen=force
-sp_inside_sparen=remove
-sp_inside_sparen_close=remove
-sp_after_sparen=force
-sp_sparen_brace=force
-sp_before_semi=remove
-sp_after_semi=remove
-sp_before_square=force
-sp_before_squares=force
-sp_after_comma=force
-sp_before_ellipsis=force
-sp_after_cast=force
-sp_sizeof_paren=force
-sp_func_proto_paren=force
-sp_func_def_paren=force
-sp_inside_fparens=remove
-sp_inside_fparen=remove
-sp_func_call_paren=force
-sp_func_call_paren_empty=force
-sp_else_brace=force
-sp_cond_colon=ignore
-sp_cond_question=ignore
-sp_endif_cmt=force
-nl_start_of_file=force
-nl_struct_brace=remove
-nl_if_brace=remove
-nl_brace_else=force
-nl_elseif_brace=remove
-nl_else_brace=remove
-nl_else_if=force
-nl_while_brace=remove
-nl_do_brace=remove
-nl_brace_while=remove
-nl_switch_brace=remove
-nl_func_type_name=force
-nl_fdef_brace=force
-pos_bool=lead
-mod_full_brace_for=ignore
-mod_full_brace_if=ignore
-mod_full_brace_while=ignore