On 12 Jun 2014, at 4:30 pm, Sebastien Marie <semarie-open...@latrappe.fr> wrote:
> On Thu, Jun 12, 2014 at 03:25:37PM +1000, Anders Jensen-Waud wrote: >> On 12 Jun 2014, at 1:35 pm, Anders Jensen-Waud <aojen...@gmail.com> wrote: >> >>> Hello, >>> >>> I have written a new port for Pure -- a functional programming language >>> with term rewriting (http://purelang.bitbucket.org/). >>> >>> The port is attached as a tarball. >>> >>> Could I kindly ask you to test and provide feedback? >>> >> >> I just realised that there was a make test target available in the base >> distribution. It has been included in the attached tarball, so please use >> that one instead. >> >> -- >> Anders Jensen-Waud > > Hi, > > Some notes about Makefile: Thank you for your feedback. > >> SHARED_LIBS += pure 8.0 > > If I remember well, a new port should use 0.0 for version numbering. This version numbering was advised by make when I was running make package. I will try and change it. > >> WANTLIB += iconv gmp mpfr pthread readline stdc++ termcap z c m >> >> LIB_DEPENDS= devel/gmp devel/mpfr devel/llvm > > portcheck(1) complains: > LIB_DEPENDS devel/llvm not needed for lang/pure ? > > Sure it is LIB_DEPENDS ? and not a BUILD_ and/or RUN_DEPENDS ? Excuse my ignorance, but I thought everything was included as a library for llvm dependencies. I will try to do BUILD/RUN_DEPENDS and follow up accordingly. > > > Else, under i386 the build fail: > > ===> Building for pure-0.60 > c++ -O2 -pipe -I/usr/local/include -I/usr/local/include > -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I. > -I/usr/obj/pobj/pure-0.60/pure-0.60 -DLIBDIR='"/usr/local/lib"' > -DLIBPURE='"libpure.so.8"' -c -o interpreter.o > /usr/obj/pobj/pure-0.60/pure-0.60/interpreter.cc > /usr/obj/pobj/pure-0.60/pure-0.60/interpreter.cc: In member function 'void > interpreter::init()': > /usr/obj/pobj/pure-0.60/pure-0.60/interpreter.cc:285: error: no matching > function for call to > 'llvm::legacy::FunctionPassManager::add(llvm::DataLayout*)' > /usr/local/include/llvm/IR/LegacyPassManager.h:83: note: candidates are: > virtual void llvm::legacy::FunctionPassManager::add(llvm::Pass*) > /usr/obj/pobj/pure-0.60/pure-0.60/interpreter.cc: In member function 'bool > interpreter::LoadBitcode(bool, const char*, std::string*)': > /usr/obj/pobj/pure-0.60/pure-0.60/interpreter.cc:2427: error: request for > member 'empty' in 'M-> llvm::Module::getDataLayout()', which is of non-class > type 'const llvm::DataLayout*' > /usr/obj/pobj/pure-0.60/pure-0.60/interpreter.cc:2427: error: no match for > 'operator!=' in 'M-> llvm::Module::getDataLayout() != layout' > /usr/local/include/llvm/ADT/StringRef.h:532: note: candidates are: bool > llvm::operator!=(llvm::StringRef, llvm::StringRef) > /usr/local/include/llvm/Target/TargetOptions.h:226: note: > bool llvm::operator!=(const llvm::TargetOptions&, const llvm::TargetOptions&) > /usr/local/include/llvm/ADT/APInt.h:1715: note: bool > llvm::operator!=(uint64_t, const llvm::APInt&) > /usr/local/include/llvm/Support/system_error.h:808: note: > bool llvm::operator!=(const llvm::error_code&, const llvm::error_code&) > /usr/local/include/llvm/Support/system_error.h:812: note: > bool llvm::operator!=(const llvm::error_code&, const llvm::error_condition&) > /usr/local/include/llvm/Support/system_error.h:816: note: > bool llvm::operator!=(const llvm::error_condition&, const llvm::error_code&) > /usr/local/include/llvm/Support/system_error.h:820: note: > bool llvm::operator!=(const llvm::error_condition&, const > llvm::error_condition&) > /usr/obj/pobj/pure-0.60/pure-0.60/interpreter.cc:2435: error: invalid > operands of types 'const char [26]' and 'const llvm::DataLayout*' to binary > 'operator+' > /usr/obj/pobj/pure-0.60/pure-0.60/interpreter.cc: In member function 'int > interpreter::compiler(std::string, std::list<std::basic_string<char, > std::char_traits<char>, std::allocator<char> >, > std::allocator<std::basic_string<char, std::char_traits<char>, > std::allocator<char> > > >)': > /usr/obj/pobj/pure-0.60/pure-0.60/interpreter.cc:10521: error: 'F_Binary' is > not a member of 'llvm::sys::fs' > Makefile:249: recipe for target 'interpreter.o' failed > gmake: *** [interpreter.o] Error 1 > *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2695 > '/usr/obj/pobj/pure-0.60/build-i386/.build_done') > *** Error 1 in /usr/ports/mystuff/lang/pure > (/usr/ports/infrastructure/mk/bsd.port.mk:2423 'all') > > > -- > Sébastien Marie -- Anders Jensen-Waud