Git Product home page Git Product logo

xlisp's Introduction

xlisp

An object-oriented LISP

Version 3.0

February 18, 2006

Building with CMake

We've added the ability to build with CMake to simplify building XLisp on your system. The way that we expect this to work on Linux systems using make would be to first make a build directory. For this walkthrough we'll say that we start in the xlisp directory:

cd ..
mkdir build
cd build
ccmake ../xlisp

So, now we have made a build directory outside of xlisp, so that the build products don't get strewn all over our pristine source. The ccmake command is a curses front end to CMake that I like. From there you can pick the type of build, then type "g" for generate. This drops you out in a shell prompt, where it has made makefiles for you (on other platforms, you may have other types of build files generated). After that you can:

make
# and then, either:
make install
# or
make package

With the CMake file we have in there, it also has a "package" target, which will most likely result in a gzipped tar file of the build products. It is also possible to alter the CMakeLists.txt file to generate other package types, such as *.rpm, *.deb, etc.

David Michael Betz

18 Garrison Drive Bedford, US, NH 03110

(603) 472-2389 (home)

Copyright (c) 1984-2006, by David Michael Betz

All Rights Reserved

See the included file LICENSE for the full license.

xlisp's People

Contributors

cousinitt avatar dbetz avatar dbjdbj avatar gliese852 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

xlisp's Issues

Doesn't run on 64-bit Linux

Greetings,

I am trying to run xlisp on my 64-bit Linux box. What I see is as follows:

blake@i9-tower:~/Backup/xlisp.git$ git pull
Already up to date.
blake@i9-tower:~/Backup/xlisp.git$ make
mkdir bin
mkdir obj
mkdir obj/xlisp
obj/xlisp/xlisp.o
mkdir lib
mkdir obj/lib
obj/lib/unstuff.o
obj/lib/xlansi.o
obj/lib/xlapi.o
obj/lib/xlcobj.o
./src/xlcom.c: In function ‘do_method’:
./src/xlcom.c:381:35: warning: variable ‘body’ set but not used [-Wunused-but-set-variable]
     xlValue object,selector,fargs,body;
                                   ^~~~
./src/xlcom.c:381:29: warning: variable ‘fargs’ set but not used [-Wunused-but-set-variable]
     xlValue object,selector,fargs,body;
                             ^~~~~
./src/xlcom.c:381:20: warning: variable ‘selector’ set but not used [-Wunused-but-set-variable]
     xlValue object,selector,fargs,body;
                    ^~~~~~~~
./src/xlcom.c:381:13: warning: variable ‘object’ set but not used [-Wunused-but-set-variable]
     xlValue object,selector,fargs,body;
             ^~~~~~
obj/lib/xlcom.o
obj/lib/xldbg.o
obj/lib/xldmem.o
obj/lib/xlfasl.o
obj/lib/xlftab.o
obj/lib/xlfun1.o
obj/lib/xlfun2.o
obj/lib/xlfun3.o
obj/lib/xlimage.o
obj/lib/xlinit.o
obj/lib/xlint.o
obj/lib/xlio.o
obj/lib/xlmain.o
obj/lib/xlitersq.o
obj/lib/xlmath.o
obj/lib/xlobj.o
obj/lib/xlosint.o
obj/lib/xlprint.o
./src/xlread.c: In function ‘xrmquote’:
./src/xlread.c:195:13: warning: variable ‘mch’ set but not used [-Wunused-but-set-variable]
     xlValue mch;
             ^~~
./src/xlread.c: In function ‘xrmdquote’:
./src/xlread.c:210:13: warning: variable ‘mch’ set but not used [-Wunused-but-set-variable]
     xlValue mch;
             ^~~
./src/xlread.c: In function ‘xrmbquote’:
./src/xlread.c:225:13: warning: variable ‘mch’ set but not used [-Wunused-but-set-variable]
     xlValue mch;
             ^~~
./src/xlread.c: In function ‘xrmcomma’:
./src/xlread.c:240:13: warning: variable ‘mch’ set but not used [-Wunused-but-set-variable]
     xlValue mch;
             ^~~
./src/xlread.c: In function ‘xrmlparen’:
./src/xlread.c:255:13: warning: variable ‘mch’ set but not used [-Wunused-but-set-variable]
     xlValue mch;
             ^~~
./src/xlread.c: In function ‘xrmrparen’:
./src/xlread.c:270:13: warning: variable ‘mch’ set but not used [-Wunused-but-set-variable]
     xlValue mch;
             ^~~
./src/xlread.c: In function ‘xrmsemi’:
./src/xlread.c:284:13: warning: variable ‘mch’ set but not used [-Wunused-but-set-variable]
     xlValue mch;
             ^~~
In file included from ./src/xlread.c:7:0:
./src/xlread.c: In function ‘read_string’:
./include/xlisp.h:129:26: warning: value computed is not used [-Wunused-value]
 #define xlPop()         (*xlSP++)
                         ~^~~~~~~~
./src/xlread.c:521:31: note: in expansion of macro ‘xlPop’
     return xlTop() == xlNil ? xlPop(), xlMakeString(buf,len) : xlGetStrOutput(xlPop());
                               ^~~~~
obj/lib/xlread.o
obj/lib/xlsym.o
lib/libxlisp.a
bin/xlisp
blake@i9-tower:~/Backup/xlisp.git$ cd bin
blake@i9-tower:~/Backup/xlisp.git/bin$ ./xlisp 
XLISP 3.3, September 6, 2002 Copyright (c) 1984-2002, by David Betz

> abc

Error: unbound variable - abc
happened in: #<Code #x0x7fc1dfc9b838>blake@i9-tower:~/Backup/xlisp.git/bin$ 

So basically I type in an undefined variable name and it crashed. Any help would be appreciated.

Blake McBride

Not buildable with CMake, on some platforms?

To build under Linux x86_64, I needed to add the following line to CMake:

target_link_libraries(xlisp m)

To build under Linux aarch64 (termux):

target_link_libraries(xlisp m)
set_property(TARGET xlisp PROPERTY POSITION_INDEPENDENT_CODE ON)

As I understand it, the first is the addition of the math library, and the second is about the -fPIC option for compilation.
I don't create PR because I don't know CMake well, perhaps it should be made platform dependent?
@cousinitt , if I may ask, could you please take a look at this and comment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.