- Fix build with clang [1]

- Fix build with gcc 4.6+ [2]
- Implement staging support

Obtained from:	3044a9053a [1]
		http://thread.gmane.org/gmane.comp.lib.boost.devel/228802 [2]
This commit is contained in:
Dmitry Marakasov 2013-09-23 20:08:30 +00:00
parent b7af6146d2
commit 3d743d3162
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=328038
5 changed files with 102 additions and 9 deletions

View file

@ -21,9 +21,16 @@ CXXFLAGS+= -fPIC
PORTDOCS= *
OPTIONS_DEFINE= DOCS
.include <bsd.port.options.mk>
post-patch:
@${FIND} ${WRKSRC} -name "*.orig" -delete
# If you manage to make boost_build build luabind with correct
# includes/libraries/compiler/flags, please send a patch
NO_STAGE= yes
# includes/libraries/compiler/flags, please send a patch;
# until then, custom build is used
do-build:
@cd ${WRKSRC}/src && ${ECHO_CMD} *.cpp | \
${XARGS} -n1 -t ${_MAKE_JOBS:C/j/P/} \
@ -32,12 +39,10 @@ do-build:
cd ${WRKSRC}/src && ${AR} -rcs libluabind.a *.o
do-install:
${INSTALL_DATA} ${WRKSRC}/src/libluabind.a ${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/src/libluabind.so ${PREFIX}/lib
cd ${WRKSRC} && ${COPYTREE_SHARE} luabind ${PREFIX}/include
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
cd ${WRKSRC}/doc && ${COPYTREE_SHARE} \* ${DOCSDIR}
.endif
${INSTALL_DATA} ${WRKSRC}/src/libluabind.a ${STAGEDIR}${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/src/libluabind.so ${STAGEDIR}${PREFIX}/lib
cd ${WRKSRC} && ${COPYTREE_SHARE} luabind ${STAGEDIR}${PREFIX}/include
${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC}/doc && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

View file

@ -0,0 +1,18 @@
--- luabind/detail/call_function.hpp.orig 2010-08-31 17:24:52.000000000 +0400
+++ luabind/detail/call_function.hpp 2013-09-23 22:18:38.767518606 +0400
@@ -323,7 +323,8 @@
#endif // LUABIND_CALL_FUNCTION_HPP_INCLUDED
-#elif BOOST_PP_ITERATION_FLAGS() == 1
+#else
+#if BOOST_PP_ITERATION_FLAGS() == 1
#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
@@ -440,4 +441,5 @@
#endif
+#endif

View file

@ -0,0 +1,18 @@
--- luabind/detail/call_member.hpp.orig 2010-08-31 17:24:52.000000000 +0400
+++ luabind/detail/call_member.hpp 2013-09-23 22:19:01.134520448 +0400
@@ -316,7 +316,8 @@
#endif // LUABIND_CALL_MEMBER_HPP_INCLUDED
-#elif BOOST_PP_ITERATION_FLAGS() == 1
+#else
+#if BOOST_PP_ITERATION_FLAGS() == 1
#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
@@ -360,4 +361,5 @@
#undef LUABIND_TUPLE_PARAMS
#endif
+#endif

View file

@ -0,0 +1,35 @@
commit 3044a9053ac50977684a75c4af42b2bddb853fad
Author: Daniel Wallin <daniel@boostpro.com>
Date: Mon Oct 11 14:33:23 2010 +0200
Proper forward declarations for object wrappers. Now builds on clang!
diff --git luabind/detail/format_signature.hpp luabind/detail/format_signature.hpp
index 56e7963..b447bc9 100644
--- luabind/detail/format_signature.hpp
+++ luabind/detail/format_signature.hpp
@@ -13,12 +13,19 @@
# include <boost/mpl/next.hpp>
# include <boost/mpl/size.hpp>
-namespace luabind {
+namespace luabind { namespace adl
+{
-class object;
-class argument;
-template <class Base>
-struct table;
+ class object;
+ class argument;
+ template <class Base>
+ struct table;
+
+} // namespace adl
+
+using adl::object;
+using adl::argument;
+using adl::table;
} // namespace luabind

View file

@ -0,0 +1,17 @@
--- luabind/wrapper_base.hpp.orig 2010-08-31 17:24:52.000000000 +0400
+++ luabind/wrapper_base.hpp 2013-09-23 22:18:10.975519864 +0400
@@ -89,7 +89,8 @@
#endif // LUABIND_WRAPPER_BASE_HPP_INCLUDED
-#elif BOOST_PP_ITERATION_FLAGS() == 1
+#else
+#if BOOST_PP_ITERATION_FLAGS() == 1
#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
@@ -188,3 +189,4 @@
#undef N
#endif
+#endif