Date: Sat, 17 Nov 2018 18:27:19 +0100 From: =?UTF-8?Q?Fernando_Apestegu=C3=ADa?= <fernape@freebsd.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r485187 - in head/cad/openvsp: . files Message-ID: <CAGwOe2YUhk2UB1OZ1ZBSszMjpHUV5r-o8N8n5je_9ETdQPW7xQ@mail.gmail.com> In-Reply-To: <201811171808.wAHI8Aqk088309@repo.freebsd.org> References: <201811171808.wAHI8Aqk088309@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Nov 17, 2018 at 7:08 PM Fernando Apestegu=C3=ADa <fernape@freebsd.o= rg> wrote: > > Author: fernape > Date: Sat Nov 17 18:08:10 2018 > New Revision: 485187 > URL: https://svnweb.freebsd.org/changeset/ports/485187 > > Log: > cad/openvsp: Unbreak port > > Port was broken after last compilers updates in 11 and 12. > Clang is now able to compile the port but we need to patch as_callfunc_= x86.cpp > unconditionally, otherwise clang complains (or dies, depending on the v= ersion) > with: > > this directive must appear between .cfi_startproc and .cfi_endproc dire= ctives > > Also use localbase to simplify flags handling. > > Reported by: pkg-fallout Sorry, I should've added Approved by: mentors (implicit) > > Added: > head/cad/openvsp/files/patch-src_external_angelscript_sdk_angelscript_s= ource_as__callfunc__x86.cpp > - copied unchanged from r485186, head/cad/openvsp/files/extra-src_ex= ternal_angelscript_sdk_angelscript_source_as__callfunc__x86.cpp > Deleted: > head/cad/openvsp/files/extra-src_external_angelscript_sdk_angelscript_s= ource_as__callfunc__x86.cpp > Modified: > head/cad/openvsp/Makefile > > Modified: head/cad/openvsp/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/cad/openvsp/Makefile Sat Nov 17 18:04:08 2018 (r485186) > +++ head/cad/openvsp/Makefile Sat Nov 17 18:08:10 2018 (r485187) > @@ -30,22 +30,15 @@ BUILD_DEPENDS=3D ${LOCALBASE}/lib/libopenNURBS.a= :graphic > ${LOCALBASE}/include/glm/glm.hpp:math/glm \ > ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/lib= pthread-stubs > > -CMAKE_SOURCE_PATH=3D ${WRKSRC}/SuperProject > -CMAKE_INSTALL_PREFIX=3D ${STAGEDIR}${PREFIX} > +USES=3D compiler:c++11-lang cmake:outsource,noninja localbase\ > + gl gnome jpeg > > -USES=3D cmake:outsource,noninja jpeg > - > USE_GITHUB=3D yes > GH_PROJECT=3D OpenVSP > GH_ACCOUNT=3D ${GH_PROJECT} > > -# On FreeBSD < 11 libc++ lacks support for sized delete operators. > -# GCC dropped the builtin version of these operators in 6+ by > -# defaulting to gnu++14. Force c++11 instead. > -# For a more detailed discussion see: > -# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D219484 > -USE_CXXSTD=3D gnu++11 > - > +CMAKE_SOURCE_PATH=3D ${WRKSRC}/SuperProject > +CMAKE_INSTALL_PREFIX=3D ${STAGEDIR}${PREFIX} > CMAKE_ARGS=3D -DVSP_USE_SYSTEM_CMINPACK:BOOLEAN=3Dyes \ > -DVSP_USE_SYSTEM_CPPTEST:BOOLEAN=3Dyes \ > -DVSP_USE_SYSTEM_CODEELI:BOOLEAN=3Dno \ > @@ -60,23 +53,8 @@ USE_XORG=3D ice sm x11 xau xcb xdamage xdmcp xext x= fixes > USE_GL=3D gl glu > > USE_GNOME=3D libxml2 > -CFLAGS+=3D -I${LOCALBASE}/include/openNURBS > > .include <bsd.port.options.mk> > - > -# In 12 gcc can not compile the port so switch to clang 5.0.0 in base. > -# But wait! It crashes while compiling so apply a patch to avoid weird a= sm code > -# that makes clang die > -# For details see: > -# https://lists.freebsd.org/pipermail/freebsd-hackers/2017-August/051352= .html > - > -.if ${OPSYS} =3D=3D FreeBSD && ${OSVERSION} >=3D 1200000 > -USES+=3D compiler:c++11-lib > -EXTRA_PATCHES=3D ${FILESDIR}/extra-src_external_angelscript_sdk_angelscr= ipt_source_as__callfunc__x86.cpp > -CFLAGS+=3D -I${LOCALBASE}/include > -.else > -USES+=3D compiler:gcc-c++11-lib > -.endif > > BUILD_PREFIX=3D OpenVSP-prefix/src/OpenVSP-build/_CPack_Packages/FreeBS= D/ZIP/OpenVSP-${DISTVERSION}-FreeBSD > > > Copied: head/cad/openvsp/files/patch-src_external_angelscript_sdk_angelsc= ript_source_as__callfunc__x86.cpp (from r485186, head/cad/openvsp/files/ext= ra-src_external_angelscript_sdk_angelscript_source_as__callfunc__x86.cpp) > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/cad/openvsp/files/patch-src_external_angelscript_sdk_angelscript= _source_as__callfunc__x86.cpp Sat Nov 17 18:08:10 2018 (r485187, co= py of r485186, head/cad/openvsp/files/extra-src_external_angelscript_sdk_an= gelscript_source_as__callfunc__x86.cpp) > @@ -0,0 +1,164 @@ > +--- src/external/angelscript/sdk/angelscript/source/as_callfunc_x86.cpp.= orig 2017-08-02 20:09:54 UTC > ++++ src/external/angelscript/sdk/angelscript/source/as_callfunc_x86.cpp > +@@ -340,7 +340,7 @@ endcopy: > + volatile asPWORD a[] =3D {asPWORD(args), asPWORD(paramSize), asPW= ORD(func)}; > + > + asm __volatile__( > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // When compiled with optimizations the stack unwind does= n't work properly, > + // causing exceptions to crash the application. By adding= this prologue > + // and the epilogue below, the stack unwind works as it s= hould. > +@@ -385,7 +385,7 @@ endcopy: > + // Pop the alignment bytes > + "popl %%esp \n" > + "popl %%ebx \n" > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // Epilogue > + "movl %%ebp, %%esp \n" > + ".cfi_def_cfa_register esp \n" > +@@ -462,7 +462,7 @@ endcopy: > + volatile asPWORD a[] =3D {asPWORD(obj), asPWORD(args), asPWORD(pa= ramSize), asPWORD(func)}; > + > + asm __volatile__ ( > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // When compiled with optimizations the stack unwind does= n't work properly, > + // causing exceptions to crash the application. By adding= this prologue > + // and the epilogue below, the stack unwind works as it s= hould. > +@@ -508,7 +508,7 @@ endcopy: > + // Pop the alignment bytes > + "popl %%esp \n" > + "popl %%ebx \n" > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // Epilogue > + "movl %%ebp, %%esp \n" > + ".cfi_def_cfa_register esp \n" > +@@ -585,7 +585,7 @@ endcopy: > + volatile asPWORD a[] =3D {asPWORD(obj), asPWORD(args), asPWORD(pa= ramSize), asPWORD(func)}; > + > + asm __volatile__ ( > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // When compiled with optimizations the stack unwind does= n't work properly, > + // causing exceptions to crash the application. By adding= this prologue > + // and the epilogue below, the stack unwind works as it s= hould. > +@@ -631,7 +631,7 @@ endcopy: > + // Pop the alignment bytes > + "popl %%esp \n" > + "popl %%ebx \n" > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // Epilogue > + "movl %%ebp, %%esp \n" > + ".cfi_def_cfa_register esp \n" > +@@ -717,7 +717,7 @@ endcopy: > + volatile asPWORD a[] =3D {asPWORD(obj), asPWORD(args), asPWORD(pa= ramSize), asPWORD(func), asPWORD(retPtr)}; > + > + asm __volatile__ ( > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // When compiled with optimizations the stack unwind does= n't work properly, > + // causing exceptions to crash the application. By adding= this prologue > + // and the epilogue below, the stack unwind works as it s= hould. > +@@ -767,7 +767,7 @@ endcopy: > + // Pop the alignment bytes > + "popl %%esp \n" > + "popl %%ebx \n" > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // Epilogue > + "movl %%ebp, %%esp \n" > + ".cfi_def_cfa_register esp \n" > +@@ -849,7 +849,7 @@ endcopy: > + volatile asPWORD a[] =3D {asPWORD(args), asPWORD(paramSize), asPW= ORD(func), asPWORD(retPtr)}; > + > + asm __volatile__ ( > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // When compiled with optimizations the stack unwind does= n't work properly, > + // causing exceptions to crash the application. By adding= this prologue > + // and the epilogue below, the stack unwind works as it s= hould. > +@@ -896,7 +896,7 @@ endcopy: > + // Pop the alignment bytes > + "popl %%esp \n" > + "popl %%ebx \n" > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // Epilogue > + "movl %%ebp, %%esp \n" > + ".cfi_def_cfa_register esp \n" > +@@ -980,7 +980,7 @@ endcopy: > + volatile asPWORD a[] =3D {asPWORD(obj), asPWORD(args), asPWORD(pa= ramSize), asPWORD(func), asPWORD(retPtr)}; > + > + asm __volatile__ ( > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // When compiled with optimizations the stack unwind does= n't work properly, > + // causing exceptions to crash the application. By adding= this prologue > + // and the epilogue below, the stack unwind works as it s= hould. > +@@ -1030,7 +1030,7 @@ endcopy: > + // Pop the alignment bytes > + "popl %%esp \n" > + "popl %%ebx \n" > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // Epilogue > + "movl %%ebp, %%esp \n" > + ".cfi_def_cfa_register esp \n" > +@@ -1102,7 +1102,7 @@ endcopy: > + volatile asPWORD a[] =3D {asPWORD(args), asPWORD(paramSize), asPW= ORD(func)}; > + > + asm __volatile__ ( > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // When compiled with optimizations the stack unwind does= n't work properly, > + // causing exceptions to crash the application. By adding= this prologue > + // and the epilogue below, the stack unwind works as it s= hould. > +@@ -1145,7 +1145,7 @@ endcopy: > + // Pop the alignment bytes > + "popl %%esp \n" > + "popl %%ebx \n" > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // Epilogue > + "movl %%ebp, %%esp \n" > + ".cfi_def_cfa_register esp \n" > +@@ -1233,7 +1233,7 @@ endcopy: > + volatile asPWORD a[] =3D {asPWORD(obj), asPWORD(args), asPWORD(pa= ramSize), asPWORD(func)}; > + > + asm __volatile__ ( > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // When compiled with optimizations the stack unwind does= n't work properly, > + // causing exceptions to crash the application. By adding= this prologue > + // and the epilogue below, the stack unwind works as it s= hould. > +@@ -1285,7 +1285,7 @@ endcopy: > + // Pop the alignment bytes > + "popl %%esp \n" > + "popl %%ebx \n" > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // Epilogue > + "movl %%ebp, %%esp \n" > + ".cfi_def_cfa_register esp \n" > +@@ -1380,7 +1380,7 @@ endcopy: > + volatile asPWORD a[] =3D {asPWORD(obj), asPWORD(args), asPWORD(pa= ramSize), asPWORD(func), asPWORD(retPtr)}; > + > + asm __volatile__ ( > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // When compiled with optimizations the stack unwind does= n't work properly, > + // causing exceptions to crash the application. By adding= this prologue > + // and the epilogue below, the stack unwind works as it s= hould. > +@@ -1445,7 +1445,7 @@ endcopy: > + // Pop the alignment bytes > + "popl %%esp \n" > + "popl %%ebx \n" > +-#ifdef __OPTIMIZE__ > ++#if defined(__OPTIMIZE__) && !defined(__clang__) > + // Epilogue > + "movl %%ebp, %%esp \n" > + ".cfi_def_cfa_register esp \n" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGwOe2YUhk2UB1OZ1ZBSszMjpHUV5r-o8N8n5je_9ETdQPW7xQ>