Commit Graph

30 Commits

Author SHA1 Message Date
Jon Trulson
67ee2216f5 configure: use tradcpp as GENCPP 2019-10-30 19:19:49 -06:00
Jon Trulson
8b065d9110 configure: use AC_PATH_PROG to find ksh 2019-10-30 18:53:16 -06:00
Jon Trulson
2b8803a8fb configure: Several changes related to locating cpp and ksh
For ksh, we need a full pathname.  AC_CHECK_PROGS only sets the name,
so we can't use that (think of a "#!" in a shell script.

We use some shell scripting to locate the ksh pathname.

While on that subject, the current use of CPP (gcc -E) as a general
preprocessor does not work very well.  I messes up whitespace,
adds/translates random whitespace, and complains bitterly about single
quotes (') in various places like comments.  It's not usable for what
CDE needs.

So, now we use GENCPP.  Using shell scripting like that used for ksh,
we locate the cpp program, and set GENCPP to "/full/path/to/cpp
-traditional -nostdinc".  This is what Linux uses now in an Imake
build, and it works fine.  We'll have to see what the BSD/Solari do.

We might need to just include BSD's "tradcpp" into the build and use
that.  It too works well in limited testing, but eats blank lines.  We
can live with that if we have to.
2019-10-30 17:42:31 -06:00
Jon Trulson
47d691e8ca configure: check for -lcrypt, add dtlogin/Makefile.am 2019-10-30 13:28:14 -06:00
Jon Trulson
9bc595a0a6 configure: Add -lm and vfork checks. Add dtwm to AC_OUTPUT. 2019-10-30 12:10:30 -06:00
Jon Trulson
89914f6168 configure: Add -DANSICPP -DMULTIBYTE -DNLS16 to SOURCE_CPP_DEFINES 2019-10-30 10:59:22 -06:00
Jon Trulson
3ce0527e52 DtSvc: vastly simplify building this library
We take advantage of subdir-object and just build the subdir source
files directly as normal dependencies of libDtSvc in the top level
Makefile.am.

This means the intevening subdirectory Makefiles are no longer needed,
and no need to replicate flags and the like between the
subdirectory Makefile.am files.

Also, no need to build fake .a libs we can't really use.

configure: remove AC_OUTPUT_FILES related the the lib/DtSvc/*
subdirectories.  They are no longer needed.
2019-10-29 19:17:52 -06:00
Jon Trulson
4f8a2e34e5 configure: Add -lDtXinerama to DTCLIENTLIBS and set USE_XINERAMA in CFLAGS
So that means Xinerama support is required now, but then it always has
been anyway.

In time, this can be made configurable if needed.
2019-10-29 18:43:10 -06:00
Jon Trulson
022709f6e2 configure: Several changes, disable static builds, etc
Static builds are disabled - there is no reason to build both shared
and static versions of everything.

MAJOR/MINOR/MICRO variables changed to CDE_VERSION_MAJOR/MINOR/MICRO.

Make DtXinerama a shared (la) library.

Add DTCLIENTLIBS SUBST to replace the role of Imake DtClientLibs, DT
libs needed to link most CDE programs.

Add AC_PROG_RANDLIB.
2019-10-29 18:02:29 -06:00
Jon Trulson
becacdba4a configure: add icons and backdrops to AC_CONFIG_FILES 2019-10-29 12:33:38 -06:00
Jon Trulson
c44d4f24c8 configure: rework how $XTOOLLIB works 2019-10-28 20:04:10 -06:00
Jon Trulson
24171c3194 configure: add programs/ dthelp, dsdm, dtmail, dtpad, and dtfile
At this stage, these certainly won't actually build yet.

Just fix up the relevent Makefile.am files so that autogen does not
emit errors and warnings for them.

Removed AIX/HPUX support in Makefile.am files.  No point in
propogating that stuff when we've already removed much of that
unmaintained code from the codebase.

Commented out all of the Sun Pro stuff.  Someone whos using that will
need to go through and fix it.  This is mostly in dtmail and dthelp.

In fact, someone who does Solaris in general will need to go through
this stuff.

Next up, we'll replace any remaining 'if SUN' conditionals with 'if
SOLARIS' which is a more appropriate name and was already defined in
configure.ac.

Then we'll see about getting these new directories building.
2019-10-28 18:54:17 -06:00
Jon Trulson
001bde0008 configure: enable C99 2019-10-28 17:11:45 -06:00
Jon Trulson
98b815be8e configure/m4: add ax_pthread.m4 for pthread checks 2019-10-28 17:05:13 -06:00
Jon Trulson
9eee455580 configure: various fixes regarding compiler flags
First attempt at setting certain -Defines and compiler flags (like
-fno-strict-aliasing).  Only linux for now.

Add CSRG_BASED to CPP_SOURCE_FLAGS rather than directly at CFLAGS.
This will be added to CFLAGS later on in the script along with other
gathered flags and options.

Set CFLAGS, CXXFLAGS, and CPPFLAGS at the end, composed of other env
variables we set earlier on.
2019-10-28 14:44:58 -06:00
Jon Trulson
01167185ed configure: only build lib/* for now 2019-10-26 17:17:55 -06:00
Jon Trulson
c282f38d16 configure: check for rpcgen, add new CSA_INCDIR and SPC_INCDIR 2019-10-26 17:08:20 -06:00
Jon Trulson
63ba9bac39 configure: add compiler checks, determine endianess, look for locale.h 2019-10-26 16:04:27 -06:00
Jon Trulson
1079ffa240 configure: create some convenience AC_SUBST's for the global includes
Modify the various makefiles that were doing $(top_builddir)/include/Dt
to use them like @DT_INCDIR@, @TT_INCDIR@, etc...
2019-10-26 14:30:36 -06:00
Jon Trulson
4320036bfa Add fake OSMAJORVERSION/OSMINORVERSION CPP flags
These really need to go away and are primarily used by older
unsupported platforms.

Here we fake these for Linux (4.15), freebsd (10.0), openbsd (6.2),
netbsd (8.0), and solaris (5.10).

I'm not sure about the Solaris one as I don't have any of them.
Basically, anything after Solaris 5.10, which is pretty ancient.

These should be considered temporary - all uses of these macros in the
code should be removed in favor of functionality-specific checks in
configure.
2019-10-25 18:33:06 -06:00
Jon Trulson
bb4a2c7694 configure/Makefiles for TT: many fixups
Redo the way the main CDE libs are specified in configure.ac... The
current way could not work due to evaluation issues, and the fact that
variables like $srcdir and the like are only valid in Makefiles, not
configure.

Use @LIBNAME@ rather then $(LIBNAME) in Makefile.am files - this way
the location is always evaluated when it's run, not in configure -
which can't work for a variety of reasons.

Got some of the TT binaries to build.

Made a new include/cppfile.inc file that can be used to pre-process
files.  The downside is that currently you can only pre-process one
file at a time per Makefile.  Something more robust is needed, but at
least tt/bin/shell now builds.  Will need to come up with a better way.
2019-10-24 20:06:39 -06:00
Jon Trulson
2ebfcd0e8a configure: fix up some cut/paste errors regarding languages 2019-10-24 17:30:50 -06:00
Jon Trulson
a4ca695daf configure: some changes to config.h, CSRG, and XTOOLLIB impl
We create autotools_config.h instead of config.h to make it clear  and
avoid collisions.

We use a different method to define CSRG_BASED on BSD systems, and fix
a bug in definition of XTOOLLIB.

XTOOLLIB should probably be checked out - we should get some info from
AC_PATH_X and AC_PATH_XTRA instead of hardcoding it.  To be looked at
later.
2019-10-24 17:10:53 -06:00
Jon Trulson
ff2e991ce8 tt: create Makefile.am for tt/util 2019-10-24 14:05:03 -06:00
Jon Trulson
8ae0dace89 configure: perhaps jumping the gun - set CSRG_BASED #define for the BSD's 2019-10-24 13:02:38 -06:00
Jon Trulson
03544e68ad tt: begin to get it building under autotools 2019-10-23 22:07:26 -06:00
Jon Trulson
29c5f90139 configure: use a different method to detect tirpc 2019-10-23 21:32:48 -06:00
Jon Trulson
4bda07b5ab autotools: use m4/ rather than existing admin/ for m4/autotools utils 2019-10-23 17:44:11 -06:00
Jon Trulson
1d7ed3a17e autotools: many fixups, SUN->SOLARIS, typos, etc
This should allow an autoregen and ./confiure to work.  We only
generate Makefiles for lib/* and ./Makefile for now.  We'll ad more as
we go along.

Make still fails as we need to figure out TT - tirpc lib, rpcgen,
etc.  But it's a start!
2019-10-23 17:34:55 -06:00
Chase
f2efbbce70 Add top level automake files 2019-10-23 15:34:19 -06:00