Closed
Bug 326
Opened 27 years ago
Closed 26 years ago
Suggestions for Makefile on DUnix
Categories
(SeaMonkey :: Build Config, enhancement, P3)
Tracking
(Not tracked)
CLOSED
INVALID
People
(Reporter: berkley, Assigned: briano)
Details
Created by Berkley Shands (berkley@cs.wustl.edu) on Wednesday, May 6, 1998 12:05:08 PM PDT
Additional Details :
A suggestion for later model DEC alpha (OSF1) Dec Unix
platforms;
Don't use GCC/G++/GNU - it leads to code problems since that
compiler is not
very picky about ANSI C++ standards on callings and
arguments.
I have made a few ports to this 64-bit platform, here are a
few useful things I found
/*
+========================================================================+
*/
/* | Playground, Copyright 1996 Washington University All
Rights Reserved. | */
/*
|------------------------------------------------------------------------|
*/
/* | FILE: CompilerDefs.hh */
/*
|------------------------------------------------------------------------|
*/
/* | Who | Date | Implementation Modification */
/*
|------------------------------------------------------------------------|
*/
/* | jyp | Feb 01, 97 | Initial Code Generation */
/*
+========================================================================+
*/
#ifndef CompilerDefs_h_
#define CompilerDefs_h_
/* */
/* list of weird definitions and other tricks needed to
work around */
/* various compilers' idiosyncrasies */
/* */
/* The following pre-defined symbols are provided by the
compiler */
/* _MSC_VER - Visual C++ version ID 4.2E */
/* __BCPLUSPLUS__ - Borland C++ V5.0 */
/* __SUNPRO_CC - Sun Sparcworks Pro V3.1 */
/* __DECCXX - Digital CXX V5.6 */
/* __DECCXX_VER = 60030001 first F/T of V6.0 */
/* __DECCXX_VER = 50660098 -oldcxx (V5.6-098) */
/* __UNIX All flavors of real unix */
/* WIN32 Both flavors of Intel/MS NT4.0 */
/* __GNUG__ GNU G++ */
/* __NetBSD__ NetBSD unix */
/* __i386 used with NetBSD for Intel
platforms */
/* __mips64 SGI 7.x Compilers (not pre-defined)
*/
/* __mips SGI systems (GNU) */
/* __linux__ Linux running on an Intel Platform
*/
/* Microsft C++ doesn't like throw() in template
declarations! */
/* gcc is still not too good at dealing with exception
signatures */
#if defined (_MSC_VER) || defined (__GNUG__) || defined
(__BCPLUSPLUS__)
# define NOTHROW
#else
# define NOTHROW throw()
#endif
/* dealing with naming conventions for include files */
/* */
#if defined (__cplusplus)
#include <iostream.h>
#else
#include <stdio.h>
#endif
/* after iostream, all hell breaks loose with g++
otherwise! */
#include "bool.h"
/* dealing with various representations of 64 bit longs */
/* and 32 bit integers to make sure all use the same amount
of storage */
#if defined(__i386) || defined(__i486) || defined(__i586) ||
defined(__i686)
# define IS_X86_BOX 1
#endif
#if defined (__alpha) || defined (__LP64) || defined
(__mips64)
# define PGLONG64 long
# define PGINT32 int
# define PGUINT32 unsigned int
#elif defined (__sparc) || defined (__mips)
# define PGLONG64 long long
# define PGINT32 long
# define PGUINT32 unsigned long
#elif defined(IS_X86_BOX) && (defined (__NetBSD__) ||
defined(__linux__))
# define PGLONG64 long long
# define PGINT32 long
# define PGUINT32 unsigned long
/* defined in veneer/MissingTmpl.cxx */
ostream & operator << (ostream &, const PGLONG64 &);
#elif defined (_M_IX86)
# if defined (_MSC_VER)
# define PGLONG64 __int64
# else
# define PGLONG64 long
# endif
# define PGINT32 long
# define PGUINT32 unsigned long
/* defined in veneer/MissingTmpl.cxx */
ostream & operator << (ostream &, const PGLONG64 &);
#else
# error "CompilerDefs.hh; unknown compilation machine"
#endif
/* for gcc on Ix86 boxes, the << operator can't get the cast
from */
/* PGint to PGINT64 right, so we must explicitly cast it. */
#if defined(__NetBSD__) || defined(__linux__)
#define INT64FIX (PGLONG64)
#else
#define INT64FIX
#endif
#endif /* CompilerDefs_h_ */
You can case statement the various CXX compilers based in
its version number
(V5.X vs V6.X the ANSI compiler)
A few make flags (I use GNU make)
# 111-D statement is unreachable
# 177-D variable "foo" was declared but never referenced
# 193-D zero used for undefined preprocessing identifier
# 236-D controlling expression is constant
# 340-D value copied to temporary, reference to temporary
used
# 402-D class "Dispatcher" has no accessible constructor
# 835-D function parameter "foo" was declared but never
referenced
DWARNINGS = -msg_display_number -msg_display_tag \
-msg_disable 111,177,193,236,340,402,835
OWARNINGS = -msg_disable 111,177,193,236,340,402,835
MAINFLAGS = -ieee -verbose -use_ld_input -ttimestamp
-nocompress
#DEBUGFLAGS = -g -O0 -w0 $(DWARNINGS) -gall -gall_pattern
PGint.cxx
DEBUGFLAGS = -g -O0 -w0 $(DWARNINGS)
OPTIMFLAGS = -O4 -w1 $(OWARNINGS)
TMPLFLAGS = -ptr $(PGVENEERDIR)/Templates.DB -pts
LIBFLAGS = -shared -o
LINKFLAGS = $(CCFLAGS)
# if cxx starts whining about code and data overlapping one
another
#LIBFLAGS = -shared -T 0x20000000 -D 0x40000000 -o
#OTHEROBJS = $(PGVENEERDIR)/Templates.DB/*.$(OBJEXT)
OTHEROBJS =
the -verbose leads to the choices being displayed when an
overload conflict is detected.
Our software targets SlowLaris 2.5, Windows-NT 4.0 and 5.0,
SGI IRIX 6.2/6.4, OSF1 4.X, netBSD, Linux
(redhat). The compiler errors I see are very typical of the
ANSI changes.
overall, very nice stuff. You have a good product.
berkley
Assignee | ||
Updated•27 years ago
|
Status: NEW → ASSIGNED
Updated•26 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
OS: All
Resolution: --- → INVALID
Comment 1•26 years ago
|
||
The Unix build system is pretty mature now, this is a really vague
bug report, please re-open this if you can be more specific.
Comment 2•21 years ago
|
||
scadds
Comment 3•21 years ago
|
||
Ignore my preivous comments.
thanx.
Updated•20 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•