Commit Graph

63 Commits

Author SHA1 Message Date
Ulrich Wilkens 4ec9658299 dtinfo other files 2013-08-29 19:47:51 -06:00
Pascal Stumpf c50eb571e3 OpenBSD.cf: don't include xorg.cf (leftover) 2013-07-23 18:46:31 -06:00
Pascal Stumpf 387ae5bdab sync warning flags betseen cc and c++ on OpenBSD 2013-07-22 17:14:15 -06:00
Jon Trulson 1d8f86a6ba Revert "Enable the use of the TIRPC library on Linux."
This reverts commit 8a8619bfa8.

More work will need to be done to use tirpc on 64bit systems.  It
works 'accidentally' on 32b systems.  The issue is that tirpc
includes *must* be used, and there is some work required to properly
support this (like proper include paths, proper definition of XDR,
etc).

So for now, we revert this until that work can be completed and tested,
otherwise 64b linux builds are likely to have problems.
2013-05-27 19:34:08 -06:00
Jon Trulson fae50f7b98 Merge branch 'master' into multi-monitor 2013-05-26 17:50:12 -06:00
Jon Trulson 8a8619bfa8 Enable the use of the TIRPC library on Linux.
This should avoid the need to run rpcbind in insecure mode.  You will
need to have the libtirpc-dev package, or equivalent installed.
2013-05-26 17:47:00 -06:00
Jon Trulson af7ba55f78 Add basic Xinerama support via new lib/DtXinerama
This adds a basic library and support to dtsession and dtlogin to
support Xinerama/Twinview, where multimple monitors are used to make
up an X11 screen.

The main goal here is to draw dialogs and such centered on a monitor,
rather than spread out over multiple monitors.

Might need to add sorting - as on my test system, what I would
consider monitor 0, appears to actually be monitor 1.  So a sort might
need to be added to sort the screens according to increasing x and y
offsets so it make sense to a user.

Also, this library is built statically and not documented.  Maybe it
could be 'filled' out and refactored/redesigned in the futre if need
be and suppoerted.

It is enabled via a define, CDE_USEXINERAMA in site.def.  It's a very
simple lib, so I do not expect any issues with the BSD's - it should
build and work fine, assuming your X server has the XINERAMA
extension, which I think pretty much all of them do at this point.
2013-03-26 19:49:50 -06:00
Pascal Stumpf 943aaadf86 Introduce DTKORNSHELL, analogous to KORNSHELL.
DTKORNSHELL is used to specify the install location of dtksh on your system,
preventing hardcoding of /usr/dt/bin/dtksh in Shebang lines and such.
2012-11-24 19:25:27 -07:00
Pascal Stumpf fad2d16d20 Remove hack adding csu objects to the linker command line on OpenBSD.
This is no longer needed now that $(CC) is used to link shared libraries.
2012-11-19 19:44:19 -07:00
Pascal Stumpf 38f3f5dcba set AvoidNullMakeCommand on OpenBSD to avoid make warnings 2012-11-19 19:44:15 -07:00
Ulrich Wilkens 9b4fe61ea4 dtinfo other requirements 2012-10-15 17:59:26 -06:00
Jon Trulson cc5544354f linux.cf: use -fno-strict-aliasing, define DefaultGcc2i386Opt, use indenting to improve readability 2012-10-01 19:27:36 -06:00
Marcin Cieslak de61ffa637 Use -O2 -fno-strict-aliasing optimization for FreeBSD
- Switching from -O to -O2 after the dthelp problem
  has been resolved
- Introducing -fno-strict-aliasing (currently FreeBSD's
  default) to avoid silent change of behaviour of legacy code.

  http://thiemonagel.de/2010/01/no-strict-aliasing/

  http://jeffreystedfast.blogspot.de/2010/01/weird-bugs-due-to-gcc-44-and-strict.html

Analysis of C99 aliasing (we are not C99 yet):

  http://davmac.wordpress.com/2010/02/26/c99-revisited/
2012-10-01 18:59:20 -06:00
Pascal Stumpf b61e8ebad6 Add csu objects to shared libraries on OpenBSD.
This is required by recent changes to the stack protector code in gcc,
generating references to __guard_local instead of __guard, defined in
crtbeginS.o.

This is a temporary solution; strictly speaking, we shouldn't invoke ld
directly at all but use cc instead.
2012-09-25 11:37:23 -06:00
Marcin Cieslak 917f7da191 157 warnings: remove -DXK_MISCELLANY from Makefiles
Fixes the following warning:

In file included from ../../../imports/x11/include/X11/Xutil.h:54,
                 from ../../../imports/x11/include/X11/Intrinsic.h:54,
                 from Action.c:64:
../../../imports/x11/include/X11/keysym.h:49:1: warning: "XK_MISCELLANY" redefined
<command-line>: warning: this is the location of the previous definition

<keysym.h> which includes all key symbols and loads <keysymdef.h>
is automaticlly included by the X Toolkit.

This patch removes #include <keysymdef.h> whenever not needed,
and adds #define XK_MISCALLANY in the source code where required.
2012-09-24 18:30:21 -06:00
Marcin Cieslak d852a8bfa6 BSD: Remove libXX.so symlink before installing
Now we can run "make" in "lib/tt" again
and the symlink will be recreated.
2012-09-23 19:44:36 -06:00
Marcin Cieslak 421b5061a6 Allow building on FreeBSD
- build shared libraries with major number only (libtt.so.2)
- don't build dtlogin and dtinfo

FreeBSD support for the installer:
- work around awk issue
- create post_install FreeBSD scripts
- install only cmsd on /etc/inetd.conf
  skip dtspc and ttdbserver for now

Note to users: please check
if you are affected by awk bug
in udbParseLib.awk if you can.
2012-09-06 11:17:43 -06:00
Jon Trulson 591e58fe1a linux.cf: add libtirpc support. Disabled by default.
Currently on Linux, you must run rpcbind in insecure mode (-i) in
order for ttsession to register with rpcbind (the portmapper).  This
is because, on most systems, libc contains an older sun-based rpc
library embedded within it.  The sun-rpc code does not know how to
authenticate with rpcbind when run as a non-privileged user.

Using libtirpc, ttsession can register with rpcbind without requiring
it to be run in insecure mode.  You must have the libtirpc-dev, or
equivalent package installed to use it.

If you want to try this:

- install libtirpc-dev or equivalent
- if your rpcbind process is already running in insecure mode (-i
  option), remove that option and restart it.
- edit config/host.def, (create if it doesn't exist) and add:

  #define HasTIRPCLib  YES

- rebuild CDE (make World).  It's probably a good idea to remove
  /usr/dt/* beforehand to avoid contamination.

Some linux systems seem to incorporate tirpc directly into libc (as
all of the BSD's do AFAIK) so this may not be needed.

I know that at least on Ubuntu systems defining HasTIRPCLib to YES is
required in order to run rpcbind without -i.
2012-09-03 19:50:10 -06:00
Jon Trulson d2c0ceaaf6 linux.cf: add some gcc system include paths to makedepend. Shaves about 5150 more warnings off (makedepend) :)
This is on ubuntu.  You may wany to add additional -I... entries for
other linux systems, if the ones I added for i386 and x86_64 don't
help.
2012-08-31 16:31:26 -06:00
Peter Howkins 53e7adfc5f build: linux.cf, remove the space in the -isystem include of the X11 headers
this was causing build failures on the make depend step.
2012-08-31 19:07:47 +01:00
Peter Howkins 1c7c33aa71 build: on linux include the X11 and Xm headers with -isystem rather than -I,
this means the compiler treats them as system headers and does not give you
excessive warnings from them. This is used because X11 does not like the
-ansi and -pedantic warnings that CDE is compiled with.
2012-08-31 18:35:20 +01: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
David Cantrell f59da7b53e Add missing includes [for modern systems] to lndir.c 2012-08-23 20:39:46 -06:00
Marcin Cieslak e9a031ac7a FreeBSD: Use -O instead of -O2 2012-08-23 20:01:25 -06:00
David Cantrell 16c57ad669 Use mkstemp() and handle /usr/lib64 in imake.c
tmpnam() usage replaced with mkstemp().  Find a suitable tmp directory
checking the TMPDIR environment variable first, then the P_tmpdir
macro and finally /tmp directly.

On 64-bit Linux platforms, check to see if libc.so exists in /usr/lib64.
If found, use it over /usr/lib/libc.so.
2012-08-21 21:51:56 -04:00
David Cantrell 6d46aca1b1 Fix basic compiler warnings in ccimake.c
main() always returns an int.
2012-08-21 21:51:06 -04:00
David Cantrell 8d32067a4a Account for multilib Linux installations in imake.
The libc.so file is not always in /usr/lib.  On multilib systems, the
file we care about could be in /usr/lib64.  Likewise, common Linux
conventions call for 64-bit libraries to go in lib64 directories, so
check there first when on a Linux 64-bit system.
2012-08-21 10:08:16 -04:00
David Cantrell 929a5f7327 Include stdlib.h in cde/config/imake/ccimake.c
stdlib.h defines exit(3) on Linux systems.
2012-08-21 10:08:03 -04:00
Pascal Stumpf 7ee2f3e80d Fix localized build on OpenBSD.
Use the same set of langs as on Linux and FreeBSD (no Japanese), don't
redefine a needed macro as no-op, and unset LC_CTYPE in the environment
when building cat files.
2012-08-20 19:56:15 -06:00
Pascal Stumpf 3629a61f7c Build dtksh on OpenBSD.
This needs ksh93 to bootstrap, available in the openbsd-wip for now as a port,
due to be committed some time soon ...
2012-08-19 18:14:37 -06:00
Jon Trulson 006a00ed4a Add mkcatdefs program and make the imake changes so it can be used. 2012-08-17 20:11:11 -06:00
William Schaub 2532f4a5ba Add support for building 32bit SPARC binaries under Linux. 2012-08-16 16:18:12 -06:00
Ulrich Wilkens 7bdb847210 Process sgml and man files in doc directory for FreeBSD. 2012-08-15 15:56: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 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 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
Jon Trulson fa3ad160e4 Fix broken linux builds caused by recent DtHelp/Imakefile jpeg change
A patch from Pascal Stumpf using external jpeg broke linux builds,
since libjpeg needs to be linked in when using a remote jpeg lib.

So, in lnxLib.tmpl, define SharedDtHelpReqs so -ljpeg is used.  Also,
in DtHelp/Imakefile, use proper Arch defines so external jpeg libs are
only used on linux, fbsd, and obsd systems.
2012-08-12 17:31:28 -06:00
Pascal Stumpf 3c6a0584dd Use cpp -traditional.
StandardCppOptions do not get respected here, so change the default CppCmd
to cpp -traditional like for FreeBSD.  Helps kill a few warnings.
2012-08-12 14:20:58 -06:00
Chris Wareham 045c80dd78 imake: Convert function prototypes and signatures to ANSI format. 2012-08-10 15:05:06 -06:00
Jon Trulson b9ae3ae76e OpenBSD.cf, from Pascal Stumpf 2012-08-10 05:37:12 -06:00
Pascal Stumpf f9c844aada recognise OpenBSD version 2012-08-09 14:15:42 -06:00
Pascal Stumpf 18dd384068 Rename getline() to not conflict with the standard POSIX interface of the same name. 2012-08-09 14:15:25 -06:00
Jon Trulson 1bb40f1f0b This adds the basic config bits needed for OpenBSD.
Patch from Pascal Stumpf <Pascal.Stumpf@cubes.de>

Most is just copied from the existing imake installation in
/usr/X11R6.  Additionally:

* Allow overriding CDESharedRev, X11ProjectRoot and ProjectRoot
* Add a new define to be able to override MINCLUDESRC too

(this allows me to build CDE without symlinking any include directories)
2012-08-09 12:11:13 -06:00
Marc Balmer 24c0f2010c Build with debug symbols enabled. 2012-08-09 11:54:51 -06:00
Jon Trulson e47bffb106 Imake.cf/linux.cf: Add arm support.
Patch from IRC user wschaub.
2012-08-06 22:38:54 -06:00
Jon Trulson 1a03c25947 Enable PowerPC to be recognized by build.
Patch from Douglas Mencken.
2012-08-06 17:09:01 -06:00
Jon Trulson 6e4c5a5cde lnxLib.tmpl: remove bogus '#define NoMessageCatalog'
It is amazing what mayhem can be caused by a bad define :)

The reason most of the CDE programs were not actually using their
localized catalogs was because their use was being disabled by this
line.

Certain programs like dtwm and dthelp/libDtHelp did their own
localization handling and did not use the results of this define.
This is why they worked properly, and most everything else did not :)
2012-08-02 19:16:04 -06:00
Jon Trulson 344998b405 linux.cf: do not bother using X_LOCALE at all. We do not need it on linux. 2012-08-02 19:15:20 -06:00