Commit Graph
30 Commits
Author SHA1 Message Date
Marcin Cieslak 8a57173ec2 Introduce <Xm/XmPrivate.h>
We need ANSI C prototypes of certain Motif
functions that are not published in the official
header files.

<Xm/XmPrivate.h> header file contains
the prototypes extracted from the Motif source.

To re-create <Xm/XmPrivate.h>:

1) Make sure you have sources of libXm
(lib/Xm directory of the Motif distribution)
accessible via imports/motif/lib/Xm

2) rm include/Xm/XmPrivate.h

3) make includes
2012-08-30 19:43:11 -06:00
Marcin Cieslak ee7caf532b Define AMD64Architecture for FreeBSD 2012-08-30 14:30:49 -06:00
Marcin Cieslak 3ef58433e6 Rudimentary LSBBitOrder for FreeBSD 2012-08-30 14:05:22 -06:00
Marcin Cieslak 64d4207135 Add pax files generated by dtksh to .gitignore
It seems that after changing -O2 to -O for FreeBSD
pax started to build successfully. Interesting.
2012-08-26 19:52:05 -06:00
Marcin Cieslak e9a031ac7a FreeBSD: Use -O instead of -O2 2012-08-23 20:01:25 -06:00
Marcin Cieslak 17a33f0430 Use KORNSHELL variable instead of /bin/ksh
This patch removes instances of hardcoded
invocation of /bin/ksh and allows to
replace it with, for, example,
/usr/local/bin/ksh93

Also "ksh93" is accepted whenever "ksh" is.

Tested using the following /bin/ksh:

----8<----
WHAT=`ps -o command= -p $PPID`
msg="Something tried to call /bin/ksh: $PPID: $WHAT"
print -u2 "$msg"
logger user.warn "$msg"
exit 99
----8<----
(Warning: first two lines are FreeBSD specific)

Scripts from Makefiles should now be executed either
with

$(KORNSHELL) korn-shell-script

or

$(SHELL) bourne-shell-script

therefore #!/bin/ksh has not been changed everywhere.

/usr/dt/bin/ scripts have been converted (e.g. Xsession)

Whenever possible Imake and CPP facilities have been used.

For C and C++ programs KORNSHELL needs to be defined to
"/path/to/your/ksh" (with quotes) so that it can make
a valid C constant.

Therefore, when adding KORNSHELL to Imakefile for C files,
you have to add

CXXEXTRA_DEFINES = -DKORNSHELL=\"$(KORNSHELL)\"

or similar (for example, see programs/dtprintinfo)

But for simple shell script substitution we usually change

 LOCAL_CPP_DEFINES = -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
                     -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
                     -DCDE_LOGFILES_TOP=$(CDE_LOGFILES_TOP)

to:

 LOCAL_CPP_DEFINES = -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
                     -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
                     -DCDE_LOGFILES_TOP=$(CDE_LOGFILES_TOP) \
                     -DKORNSHELL=$(KORNSHELL) \
                     -DXPROJECTROOT=X11ProjectRoot

since we don't want quotes for shell scripts.
2012-08-23 20:00:43 -06:00
Marcin Cieslak 98b17d3551 64bit: Fix crash in dtexec
No ANSI prototype for malloc() caused
the returned pointer to be truncated
to 32 bits.
2012-08-23 19:56:43 -06:00
Marcin Cieslak d31fc60fbf FreeBSD: scan /usr/local/lib/X11/fonts/ for fontpath 2012-08-23 19:56:34 -06:00
Marcin Cieslak c3cd844df6 Use FreeBSD-specific invocation of /bin/ps 2012-08-23 19:56:31 -06:00
Marcin Cieslak 724671a2ad examples/tt now runs on FreeBSD 2012-08-22 21:04:30 -06:00
Marcin Cieslak 240c89cf6b Add mkcatdefs and book.* to .gitignore 2012-08-19 18:20:29 -06:00
Marcin Cieslak 3e2f89956f Build missing Xm.cat Mrm.cat Uil.cat for LANG=C
We need to use mkcatdefs to build those.

mkcatdefs needs to be built from the open motif
source tree (localized/util/mkcatdefs.c)
and installed as:

cde/imports/motif/localized/util/mkcatdefs
2012-08-17 19:50:44 -06:00
Marcin Cieslak 0fccc33b17 Provide basic font aliases for FreeBSD
The following font families
(or their aliases) will be used:

-adobe-courier-bold-o-normal--*-
-adobe-courier-bold-r-normal--*-
-adobe-courier-medium-o-normal--*-
-adobe-courier-medium-r-normal--*-
-adobe-helvetica-bold-o-normal--*-
-adobe-helvetica-bold-r-normal--*-
-adobe-helvetica-medium-o-normal--*-
-adobe-helvetica-medium-r-normal--*-
-adobe-symbol-medium-r-normal--*-
-adobe-times-bold-i-normal--*-
-adobe-times-bold-r-normal--*-
-adobe-times-medium-i-normal--*-
-adobe-times-medium-r-normal--*-
-b&h-lucidasans-medium-r-normal-sans-*-
-b&h-lucidatypewriter-bold-r-normal-sans-*-
-b&h-lucidatypewriter-medium-r-normal-sans-*-

The files will be installed in

/usr/dt/config/xfonts/C

This directory should be added to the
X server font path:

   xset fp+ /usr/dt/config/xfonts/C

and/or via

   FontPath         "/usr/dt/config/xfonts/C"

in the "Files" section of the xorg.conf file.
2012-08-16 16:15:52 -06:00
Marcin Cieslak d8db13985c Fix compiler warnings in dtsession 2012-08-16 16:15:49 -06:00
Marcin Cieslak ce4004f86b Modern BSDs don't need union wait
We have

pid_t
wait3(int *status, int options, struct rusage *rusage);

on FreeBSD and we don't need (union wait) handling.

Another good candidate for one #ifdef from imake templates.
We have already OPT_BSD_WAIT in ToolTalk's tt_options.h
2012-08-15 15:58:48 -06:00
Marcin Cieslak a35975a334 FreeBSD does not need extern char *sys_errlist[]
Add preprocessor directives not to try
to redefine sys_errlist[] or sys_nerr

There are already definitions:

 extern __const char *__const sys_errlist[];
 extern __const int sys_nerr;

in <stdio.h>

Actually we should have something like
NeedSysErrlist in imake definitions
to get rid of those #ifdefs.
2012-08-15 15:58:46 -06:00
Marcin Cieslak 71ddf025fa FreeBSD updates for dtspcd, dtfile and others
* Add libraries where necesary
* Point to Freetype2 includes for dtfile
* Define default manpath
2012-08-15 12:41:31 -06:00
Marcin Cieslak e8ff159737 const char maze: unbreak ToolTalk build
Follow up to de82eebdd5
2012-08-14 20:37:23 -06:00
Marcin Cieslak 65218337ef Use $(KORNSHELL) for dtksh as well
This commit updates master at de82eebdd5
to include bits from

   Message-Id: <1344951117-33716-3-git-send-email-saper@saper.info>
   http://thread.gmane.org/gmane.comp.desktop.cde.devel/283/focus=301

not included in the

   Message-Id: <1344951117-33716-1-git-send-email-saper@saper.info>
   http://thread.gmane.org/gmane.comp.desktop.cde.devel/283/focus=299

that was commited as d3206f4514

Also remove two generated files from the repository:
	programs/dtksh/ksh93/man/man1/sh.1
	programs/dtksh/ksh93/man/man3/nval.3

Conflicts:

	cde/programs/dtksh/ksh93/Imakefile
2012-08-14 20:37:07 -06:00
Marcin Cieslak 2562c2cbeb Deal with *.tmp.msg after mkcatdefs failure
BSD make interrupts shell pipeline after
if it cannot run the command:

rm -f Mrm.msg
ln -s ../../../../imports/motif/localized/de_DE.ISO8859-1/msg/Mrm.msg Mrm.msg
Running mkcatdefs for Mrm.cat with LANG set to de_DE.ISO8859-1
(  rm -f Mrm.cat Mrm.tmp.msg;  LANG=de_DE.ISO8859-1;  export LANG;  ../../../../imports/motif/localized/util/mkcatdefs Mrm Mrm.msg -h > Mrm.tmp.msg;  gencat  Mrm.cat Mrm.tmp.msg;  rm -f Mrm.tmp.msg  )
../../../../imports/motif/localized/util/mkcatdefs: not found
*** Error code 127

After this, an empty Mrm.tmp.msg is left.
2012-08-14 20:37:03 -06:00
Marcin Cieslak d6b6353f95 Use $(SHELL) and $(KORNSHELL) for shell scripts
Introduce KORNSHELL make variable to point
to the implementation of the Korn Shell.

Use $(SHELL) or $(KORNSHELL) explicitly for
make programs that do not automatically call
shell scripts from the current directory.
2012-08-14 12:34:41 -06:00
Marcin Cieslak d3206f4514 Compile dtksh on FreeBSD
dtksh can be now compiled on FreeBSD. Work in progress.

Needs a real Korn shell to bootstrap as $(KSHELL).
KSHELL is set by default to /usr/local/bin/ksh93
(generic POSIX shell may not work)

Tested on:

  FreeBSD 9.0-BETA1 #0 r224912M amd64

Known issues:

xvmstat:
* sleep does not work well (SIGSTOP is delivered)
xpong:
* xpong: line 220:  ball1x = max_x * 2.2 / 3 : arithmetic syntax error
* dtksh is rebuilt uncondtionally every time make is invoked
2012-08-14 12:18:38 -06:00
Marcin Cieslak 31aaa48344 FreeBSD port: dtsearch, dtterm, dtwidget, dthelp
FreeBSD portability of dtsearch, dtterm, dtwidget, dthelp

Work in progress for dtlogin and dtmail
2012-08-13 19:53:10 -06:00
Marcin Cieslak 50e6c86bf4 lib/csa: Use ANSI C prototypes
Improve type compatibility and enable
ANSI C prototypes.
2012-08-13 19:24:23 -06:00
Marcin Cieslak aa12f819dd Cast registerrpc args to xdrproc_t explicitly
Fixes:
agent.c: In function '_DtCm_init_agent':
agent.c:160: warning: passing argument 5 of 'registerrpc' from incompatible pointer type
agent.c:160: warning: passing argument 6 of 'registerrpc' from incompatible pointer type
agent.c:167: warning: passing argument 5 of 'registerrpc' from incompatible pointer type
agent.c:167: warning: passing argument 6 of 'registerrpc' from incompatible pointer type
2012-08-13 19:23:37 -06:00
Marcin Cieslak 706fccb50e NULL is a pointer, not string terminator
Replace some instances of NULL to '\0', when
referring to string terminator.
2012-08-13 19:23:34 -06:00
Marcin Cieslak bf8c5e674f Compile ToolTalk on FreeBSD
Fix const correctness problems with OPT_CONST_CORRECT:

tt_xdr_utils.C: In constructor '_Tt_xdr_size_stream::_Tt_xdr_size_stream()':
tt_xdr_utils.C:150: error: invalid conversion from 'bool_t (*)(__rpc_xdr*, long int*)' to 'bool_t (*)(__rpc_xdr*, const long int*)'
tt_xdr_utils.C:151: error: invalid conversion from 'bool_t (*)(__rpc_xdr*, char*, unsigned int)' to 'bool_t (*)(__rpc_xdr*, const char*, u_int)'
tt_xdr_utils.C:159: error: invalid conversion from 'bool_t (*)(__rpc_xdr*, char*, unsigned int)' to 'bool_t (*)(__rpc_xdr*, const char*, u_int)'

tt_entry_pt.C: In function '_Tt_string _tt_entrypt_to_string(_Tt_entry_pt)':
tt_entry_pt.C:455: error: conversion from 'long int' to '_Tt_string' is ambiguous
../../lib/util/tt_string.h:104: note: candidates are: _Tt_string::_Tt_string(int)
../../lib/util/tt_string.h:102: note:                 _Tt_string::_Tt_string(const char*)
2012-08-12 20:57:49 -06:00
Marcin Cieslak 8e80886661 Skip building m-guides and dtksh for FreeBSD 2012-08-12 20:57:48 -06:00
Marcin Cieslak e1aa4d28cb Improve creation of shared libraries for FreeBSD 2012-08-12 20:57:48 -06:00
Marcin Cieslak 851330b5f5 Adjust cpp location for FreeBSD
cpp was removed from /usr/libexec with FreeBSD 5.0-RELEASE.
Use __FreeBSD_version to tell imake if it's still there.

While here, X.Y.Z versioning ended with FreeBSD 3.0, so
we must be dealing with 2.Y.Z when checking for -lgnumalloc.
2012-08-12 20:57:48 -06:00