1: \ envos.fs set os-specific environmental queries 07jul97jaw
2:
3: \ Copyright (C) 1997,1999,2000,2003,2006,2007,2008,2009,2010,2012 Free Software Foundation, Inc.
4:
5: \ This file is part of Gforth.
6:
7: \ Gforth is free software; you can redistribute it and/or
8: \ modify it under the terms of the GNU General Public License
9: \ as published by the Free Software Foundation, either version 3
10: \ of the License, or (at your option) any later version.
11:
12: \ This program is distributed in the hope that it will be useful,
13: \ but WITHOUT ANY WARRANTY; without even the implied warranty of
14: \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: \ GNU General Public License for more details.
16:
17: \ You should have received a copy of the GNU General Public License
18: \ along with this program. If not, see http://www.gnu.org/licenses/.
19:
20: get-current environment-wordlist set-current
21: : os-class ( -- c-addr u ) \ gforth-environment
22: \G Counted string representing a description of the host operating system.
23: s" unix" ;
24: : os-type ( -- c-addr u ) \ gforth-environment
25: \G Counted string equal to "$host_os"
26: s" @host_os@" ;
27: set-current
28:
29: : lib-suffix ( -- c-addr u ) \ gforth
30: \G the suffix for loading shared objects
31: s" @LIB_SUFFIX@" ;
32:
33: : arch-modifier ( -- c-addr u ) \ gforth
34: \G the file name or directory modifier for the architecture
35: s" @ARCH@" ;
36:
37: : libtool-command ( -- c-addr u ) \ gforth
38: \G name of the GNU libtool command
39: s" @GNU_LIBTOOL@" ;
40:
41: : libtool-cc ( -- c-addr u ) \ gforth
42: \G invocation string of the C compiler used for libtool
43: s" @LIBTOOL_CC@ @CFLAGS@" ;
44:
45: : libtool-flags ( -- c-addr u ) \ gforth
46: \G force no undefined for cygwin
47: [ s" @host_os@" s" cygwin" str= ] [IF] s" -no-undefined "
48: [ELSE] s" " [THEN] ;
49:
50: \ test for the presence of libffi or ffcall
51: @FFCALLFLAG@ constant ffcall-present \ libffi present (on building)
52: @LIBFFIFLAG@ constant libffi-present \ ffcall libs present (on building)
53:
54: : include-ffi.h-string ( -- c-addr u )
55: s" #include <@FFI_H_NAME@>" ;
56:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>