Hi Rene,
On 22.05.2012 09:06, Rene Engelhard wrote:
Hi,
On Tue, May 22, 2012 at 08:38:55AM +0200, David Ostrovsky wrote:
I was indeed not sure with arm and was told on irc that eabi would be
the right way to go...
Well, oabi is dead and anything shipping right now is eabi, so it wasn't
THAT wrong, but we shouldn't break the stuff, should we?
And who really cares, which ARCH are we using for Mips ;-)
Distros building for mips.
(like Debian does.)
Anyway I fixed it accordingly and here is the new version.
Sorry, now you broke ARM EABI. That's even worse than your initial version
wrt ARM.
no, it was my fault. I fixed it now.
As I said:
arm*-linux-gnueabi) is RTL_ARCH=ARM_EABI.
arm*-linux) is RTL_ARCH=ARM_OABI.
You then maybe need to invent new case statements etc. as $host_cpu is the same
in both cases.
To avoid the code duplication I'm using a nested case statement here.
Ciao
David
From b573e864d0f758bf86cde1c536cbe62e625852b7 Mon Sep 17 00:00:00 2001
From: David Ostrovsky <David.Ostrovsky@gmx.de>
Date: Mon, 21 May 2012 19:01:29 +0200
Subject: [PATCH] fdo#50162 merge rtlbootstrap.mk into configure.in
Change-Id: I241be2704a069ec1f6be5861084039569673cc12
---
config_host.mk.in | 2 +
configure.in | 59 ++++++++++++++++++-
instsetoo_native/util/makefile.mk | 1 -
sal/CustomTarget_generated.mk | 21 +------
sal/Library_sal.mk | 2 +
sal/Package_generated.mk | 1 -
sal/rtl/source/bootstrap.cxx | 6 +-
sal/rtl/source/macro.hxx | 116 -------------------------------------
sdext/platform.mk | 8 +-
solenv/inc/settings.mk | 2 -
10 files changed, 69 insertions(+), 149 deletions(-)
delete mode 100644 sal/rtl/source/macro.hxx
diff --git a/config_host.mk.in b/config_host.mk.in
index 0a85bfd..76d4a1d 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -426,6 +426,8 @@ export REDLAND_CFLAGS=@REDLAND_CFLAGS@
export REDLAND_LIBS=@REDLAND_LIBS@
export RHINO_JAR=@RHINO_JAR@
export RPM=@RPM@
+export RTL_OS=@RTL_OS@
+export RTL_ARCH=@RTL_ARCH@
export SAC_JAR=@SAC_JAR@
export SAL_ENABLE_FILE_LOCKING=1
export SAMPLEICC_CFLAGS=@SAMPLEICC_CFLAGS@
diff --git a/configure.in b/configure.in
index 510d82a..a14b908 100644
--- a/configure.in
+++ b/configure.in
@@ -2991,6 +2991,8 @@ aix*)
GUI=UNX
GUIBASE=unx
OS=AIX
+ RTL_OS=AIX
+ RTL_ARCH=PowerPC
OUTPATH=unxaigppc
P_SEP=:
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
@@ -3003,6 +3005,7 @@ cygwin*)
GUI=WNT
GUIBASE=WIN
OS=WNT
+ RTL_OS=Windows
P_SEP=";"
case "$host_cpu" in
@@ -3010,11 +3013,13 @@ cygwin*)
if test "$CL_X64" != ""; then
CPU=X
CPUNAME=X86_64
+ RTL_ARCH=X86_64
LIB64="lib/x64"
OUTPATH=wntmscx$COMEX
else
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
OUTPATH=wntmsci$COMEX
fi
;;
@@ -3033,12 +3038,14 @@ darwin*)
# Not sure if "Aqua" is the right term to use?
GUIBASE="aqua"
OS=MACOSX
+ RTL_OS=MacOSX
P_SEP=:
case "$host_cpu" in
arm*)
CPU=R
CPUNAME=ARM
+ RTL_ARCH=ARM_EABI
GUIBASE=cocoatouch
OUTPATH=unxiosr
OS=IOS;
@@ -3046,11 +3053,13 @@ darwin*)
powerpc*)
CPU=P
CPUNAME=POWERPC
+ RTL_ARCH=PowerPC
OUTPATH=unxmacxp
;;
i*86|x86_64)
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
OUTPATH=unxmacxi
;;
*)
@@ -3065,6 +3074,7 @@ dragonfly*)
GUI=UNX
GUIBASE=unx
OS=DRAGONFLY
+ RTL_OS=DragonFly
OUTPATH=unxdfly
P_SEP=:
@@ -3072,10 +3082,12 @@ dragonfly*)
i*86)
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
;;
x86_64)
CPU=X
CPUNAME=X86_64
+ RTL_ARCH=X86_64
;;
*)
AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
@@ -3090,6 +3102,7 @@ freebsd*)
COM=GCC
GUI=UNX
GUIBASE=unx
+ RTL_OS=FreeBSD
OS=FREEBSD
OUTPATH=unxfbsd
P_SEP=:
@@ -3098,11 +3111,13 @@ freebsd*)
i*86)
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
OUTPATH=unxfbsdi
;;
x86_64)
CPU=X
CPUNAME=X86_64
+ RTL_ARCH=X86_64
;;
*)
AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
@@ -3118,17 +3133,19 @@ kfreebsd*)
GUI=UNX
GUIBASE=unx
OS=LINUX
-
+ RTL_OS=kFreeBSD
case "$host_cpu" in
i*86)
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
OUTPATH=unxkfgi6
;;
x86_64)
CPU=X
CPUNAME=X86_64
+ RTL_ARCH=X86_64
LIB64="lib64"
OUTPATH=unxkfgx6
;;
@@ -3146,6 +3163,7 @@ linux-gnu*)
GUI=UNX
GUIBASE=unx
OS=LINUX
+ RTL_OS=Linux
P_SEP=:
case "$host_cpu" in
@@ -3153,6 +3171,7 @@ linux-gnu*)
alpha)
CPU=L
CPUNAME=AXP
+ RTL_ARCH=ALPHA
OUTPATH=unxlngaxp
;;
arm*)
@@ -3160,82 +3179,102 @@ linux-gnu*)
CPUNAME=ARM
EPM_FLAGS="-a arm"
OUTPATH=unxlngr
+ RTL_ARCH=ARM_EABI
+ case "$host_cpu" in
+ arm*-linux)
+ RTL_ARCH=ARM_OABI
+ ;;
+ esac
;;
hppa)
CPU=H
CPUNAME=HPPA
+ RTL_ARCH=HPPA
EPM_FLAGS="-a hppa"
OUTPATH=unxlnghppa
;;
i*86)
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
OUTPATH=unxlngi6
;;
ia64)
CPU=A
CPUNAME=IA64
+ RTL_ARCH=IA64
OUTPATH=unxlnga
;;
mips)
CPU=M
CPUNAME=GODSON
+ RTL_ARCH=MIPS_EB
EPM_FLAGS="-a mips"
OUTPATH=unxlngmips
;;
mips64)
CPU=M
CPUNAME=GODSON
+ RTL_ARCH=MIPS_EB
EPM_FLAGS="-a mips64"
OUTPATH=unxlngmips
;;
mips64el)
CPU=M
CPUNAME=GODSON
+ RTL_ARCH=MIPS_EL
EPM_FLAGS="-a mips64el"
OUTPATH=unxlngmips
;;
mipsel)
CPU=M
CPUNAME=GODSON
+ RTL_ARCH=MIPS_EL
EPM_FLAGS="-a mipsel"
OUTPATH=unxlngmips
;;
m68k)
CPU=6
CPUNAME=M68K
+ RTL_ARCH=M68K
OUTPATH=unxlngm68k
;;
powerpc)
CPU=P
CPUNAME=POWERPC
+ RTL_ARCH=PowerPC
OUTPATH=unxlngppc
;;
powerpc64)
CPU=P
CPUNAME=POWERPC64
+ RTL_ARCH=PowerPC_64
LIB64="lib64"
OUTPATH=unxlngppc64
;;
sparc)
CPU=S
CPUNAME=SPARC
+ RTL_ARCH=SPARC
OUTPATH=unxlngs
;;
s390)
CPU=3
CPUNAME=S390
+ RTL_ARCH=S390
OUTPATH=unxlngs390
;;
s390x)
CPU=3
CPUNAME=S390x
+ RTL_ARCH=S390x
LIB64="lib64"
OUTPATH=unxlngs390x
;;
x86_64)
CPU=X
CPUNAME=X86_64
+ RTL_ARCH=X86_64
LIB64="lib64"
OUTPATH=unxlngx6
;;
@@ -3253,6 +3292,7 @@ linux-androideabi*)
GUI=UNX
GUIBASE=android
OS=ANDROID
+ RTL_OS=Android
P_SEP=:
case "$host_cpu" in
@@ -3260,6 +3300,7 @@ linux-androideabi*)
arm|armel)
CPU=R
CPUNAME=ARM
+ RTL_ARCH=ARM_EABI
OUTPATH=unxandr
;;
*)
@@ -3275,6 +3316,7 @@ mingw*)
GUI=WNT
GUIBASE=WIN
OS=WNT
+ RTL_OS=Windows
P_SEP=:
case "$host_cpu" in
@@ -3282,10 +3324,12 @@ mingw*)
if test "$CL_X64" != ""; then
CPU=X
CPUNAME=X86_64
+ RTL_ARCH=X86_84
OUTPATH=wntgccx$COMEX
else
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
OUTPATH=wntgcci$COMEX
fi
;;
@@ -3304,6 +3348,7 @@ mingw*)
GUI=UNX
GUIBASE=unx
OS=NETBSD
+ RTL_OS=NetBSD
OUTPATH=unxnbsd
P_SEP=:
@@ -3311,18 +3356,22 @@ mingw*)
i*86)
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
;;
powerpc)
CPU=P
CPUNAME=POWERPC
+ RTL_ARCH=PowerPC
;;
sparc)
CPU=S
CPUNAME=SPARC
+ RTL_ARCH=SPARC
;;
x86_64)
CPU=X
CPUNAME=X86_64
+ RTL_ARCH=X86_64
;;
*)
AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
@@ -3338,6 +3387,7 @@ openbsd*)
GUI=UNX
GUIBASE=unx
OS=OPENBSD
+ RTL_OS=OpenBSD
OUTPATH=unxobsd
P_SEP=:
@@ -3345,10 +3395,12 @@ openbsd*)
i*86)
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
;;
x86_64)
CPU=X
CPUNAME=X86_64
+ RTL_ARCH=X86_64
;;
*)
AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
@@ -3368,17 +3420,20 @@ solaris*)
GUI=UNX
GUIBASE=unx
OS=SOLARIS
+ RTL_OS=Solaris
P_SEP=:
case "$host_cpu" in
i*86)
CPU=I
CPUNAME=INTEL
+ RTL_ARCH=x86
OUTPATH=unxsoli
;;
sparc)
CPU=S
CPUNAME=SPARC
+ RTL_ARCH=SPARC
OUTPATH=unxsogs
;;
*)
@@ -3419,6 +3474,8 @@ SOLARINC="-I. -I${SOLARVER}/$INPATH/inc/external -I${SOLARVER}/$INPATH/inc
-I$SR
AC_SUBST(COM)
AC_SUBST(CPU)
AC_SUBST(CPUNAME)
+AC_SUBST(RTL_OS)
+AC_SUBST(RTL_ARCH)
AC_SUBST(EPM_FLAGS)
AC_SUBST(GUI)
AC_SUBST(GUIBASE)
diff --git a/instsetoo_native/util/makefile.mk b/instsetoo_native/util/makefile.mk
index 94187ee..7906d74 100644
--- a/instsetoo_native/util/makefile.mk
+++ b/instsetoo_native/util/makefile.mk
@@ -30,7 +30,6 @@ PRJNAME=instsetoo_native
TARGET=util
.INCLUDE: settings.mk
-.INCLUDE: $(SOLARINCDIR)$/rtlbootstrap.mk
# PERL:=@echo
diff --git a/sal/CustomTarget_generated.mk b/sal/CustomTarget_generated.mk
index 5b11927..f5c07c3 100644
--- a/sal/CustomTarget_generated.mk
+++ b/sal/CustomTarget_generated.mk
@@ -30,28 +30,9 @@ $(eval $(call gb_CustomTarget_CustomTarget,sal/generated))
sal_DIR := $(call gb_CustomTarget_get_workdir,sal/generated)
$(call gb_CustomTarget_get_target,sal/generated) : \
- $(sal_DIR)/rtlbootstrap.mk $(sal_DIR)/sal/udkversion.h \
+ $(sal_DIR)/sal/udkversion.h \
$(if $(filter-out $(COM),MSC),$(sal_DIR)/sal/typesizes.h)
-ifeq ($(COM),MSC)
-$(sal_DIR)/rtlbootstrap.mk :| $(sal_DIR)/.dir
- echo RTL_OS:=Windows > $@
-ifeq ($(CPUNAME),INTEL)
- echo RTL_ARCH:=x86 >> $@
-else
- echo RTL_ARCH:=X86_64 >> $@
-endif
-else
-$(sal_DIR)/rtlbootstrap.mk : $(sal_DIR)/sal/typesizes.h | $(sal_DIR)/.dir
- $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),CXX,1)
- $(call gb_Helper_abbreviate_dirs, \
- (echo '#include "macro.hxx"'; echo RTL_OS:=THIS_OS; echo RTL_ARCH:=THIS_ARCH) >
$(sal_DIR)/bootstrap.cxx && \
- $(CXX) -E $(gb_OSDEFS) $(gb_CXXFLAGS) -D$(CPUNAME) -I$(sal_DIR) -I$(SRCDIR)/sal/rtl/source \
- -I$(SRCDIR)/sal/inc $(sal_DIR)/bootstrap.cxx > $@.tmp && \
- cat $@.tmp | grep '^RTL_' | sed -e 's/"//g' > $@ && \
- rm $(sal_DIR)/bootstrap.cxx $@.tmp)
-endif
-
$(sal_DIR)/sal/typesizes.h :| $(sal_DIR)/sal/.dir
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1)
echo '/* This file is autogenerated from configure script data */' > $@
diff --git a/sal/Library_sal.mk b/sal/Library_sal.mk
index adbe803..de22417 100644
--- a/sal/Library_sal.mk
+++ b/sal/Library_sal.mk
@@ -52,6 +52,8 @@ $(eval $(call gb_Library_add_defs,sal,\
) \
$(LFS_CFLAGS) \
-DSAL_DLLIMPLEMENTATION \
+ -DRTL_OS="\"$(RTL_OS)"\" \
+ -DRTL_ARCH="\"$(RTL_ARCH)"\" \
))
$(eval $(call gb_Library_use_libraries,sal,\
diff --git a/sal/Package_generated.mk b/sal/Package_generated.mk
index 719e97c..5bc43dc 100644
--- a/sal/Package_generated.mk
+++ b/sal/Package_generated.mk
@@ -27,7 +27,6 @@
$(eval $(call gb_Package_Package,sal_generated,$(call gb_CustomTarget_get_workdir,sal/generated)))
-$(eval $(call gb_Package_add_file,sal_generated,inc/rtlbootstrap.mk,rtlbootstrap.mk))
$(eval $(call gb_Package_add_file,sal_generated,inc/sal/udkversion.h,sal/udkversion.h))
ifneq ($(COM),MSC)
diff --git a/sal/rtl/source/bootstrap.cxx b/sal/rtl/source/bootstrap.cxx
index 98c983b..e82d537 100644
--- a/sal/rtl/source/bootstrap.cxx
+++ b/sal/rtl/source/bootstrap.cxx
@@ -47,8 +47,6 @@
#include <rtl/uri.hxx>
#include "rtl/allocator.hxx"
-#include "macro.hxx"
-
#include <algorithm>
#include <map>
#include <memory>
@@ -477,12 +475,12 @@ bool Bootstrap_Impl::getValue(
}
if ( key == "_OS" ) {
rtl_uString_assign(
- value, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(THIS_OS)).pData);
+ value, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(RTL_OS)).pData);
return true;
}
if ( key == "_ARCH" ) {
rtl_uString_assign(
- value, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(THIS_ARCH)).pData);
+ value, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(RTL_ARCH)).pData);
return true;
}
if ( key == "_CPPU_ENV" ) {
diff --git a/sal/rtl/source/macro.hxx b/sal/rtl/source/macro.hxx
deleted file mode 100644
index 09c802e..0000000
--- a/sal/rtl/source/macro.hxx
+++ /dev/null
@@ -1,116 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _RTL_MACRO_HXX
-#define _RTL_MACRO_HXX
-
-#include <rtl/bootstrap.h>
-#include <rtl/ustring.hxx>
-#include <osl/endian.h>
-
-#if defined WIN32
-#define THIS_OS "Windows"
-#elif defined SOLARIS
-#define THIS_OS "Solaris"
-#elif defined LINUX
-#ifdef __FreeBSD_kernel__
-#define THIS_OS "kFreeBSD"
-#else
-#define THIS_OS "Linux"
-#endif
-#elif defined ANDROID
-#define THIS_OS "Android"
-#elif defined MACOSX
-#define THIS_OS "MacOSX"
-#elif defined IOS
-#define THIS_OS "iOS"
-#elif defined NETBSD
-#define THIS_OS "NetBSD"
-#elif defined FREEBSD
-#define THIS_OS "FreeBSD"
-#elif defined AIX
-#define THIS_OS "AIX"
-#elif defined OPENBSD
-#define THIS_OS "OpenBSD"
-#elif defined DRAGONFLY
-#define THIS_OS "DragonFly"
-#endif
-
-#if ! defined THIS_OS
-#error "unknown OS -- insert your OS identifier above"
-this is inserted for the case that the preprocessor ignores error
-#endif
-
-#if defined X86_64
-# define THIS_ARCH "X86_64"
-#elif defined INTEL
-# define THIS_ARCH "x86"
-#elif defined POWERPC64
-# define THIS_ARCH "PowerPC_64"
-#elif defined POWERPC
-# define THIS_ARCH "PowerPC"
-#elif defined S390X
-# define THIS_ARCH "S390x"
-#elif defined S390
-# define THIS_ARCH "S390"
-#elif defined SPARC
-#if defined IS_LP64
-# define THIS_ARCH "SPARC64"
-#else
-# define THIS_ARCH "SPARC"
-#endif
-#elif defined MIPS
-# ifdef OSL_BIGENDIAN
-# define THIS_ARCH "MIPS_EB"
-# else
-# define THIS_ARCH "MIPS_EL"
-# endif
-#elif defined ARM
-# ifdef __ARM_EABI__
-# define THIS_ARCH "ARM_EABI"
-# else
-# define THIS_ARCH "ARM_OABI"
-# endif
-#elif defined IA64
-# define THIS_ARCH "IA64"
-#elif defined M68K
-# define THIS_ARCH "M68K"
-#elif defined HPPA
-# define THIS_ARCH "HPPA"
-#elif defined AXP
-# define THIS_ARCH "ALPHA"
-#endif
-
-#if ! defined THIS_ARCH
-#error "unknown ARCH -- insert your ARCH identifier above"
-this is inserted for the case that the preprocessor ignores error
-#endif
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sdext/platform.mk b/sdext/platform.mk
index bda30c2..2c818c8 100644
--- a/sdext/platform.mk
+++ b/sdext/platform.mk
@@ -25,10 +25,10 @@
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
-# TODO: the variables from rtlbootstrap.mk could (and should) be set by
-# configure
-# TODO: there should be their lowercase variants, too
-include $(OUTDIR)/inc/rtlbootstrap.mk
+# TODO
+# https://bugs.freedesktop.org/show_bug.cgi?id=50163
+# move definition of PLATFORMID into configure.in
+#
sdext__LOWERCASE_TABLE := A-a B-b C-c D-d E-e F-f G-g H-h I-i J-j K-k L-l M-m N-n O-o P-p R-r S-s
T-t U-u V-v W-w X-x Y-y Z-z
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index 575fdc9..1eeba4f 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -42,8 +42,6 @@ force_dmake_to_error
.INCLUDE : minor.mk
-.INCLUDE .IGNORE : rtlbootstrap.mk
-
PLATFORMID = $(RTL_OS:l)_$(RTL_ARCH:l)
EXTNAME*=$(EXTENSIONNAME)_in
--
1.7.5.4
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.