The script modules/hardcore/scripts/operasetup.py runs several other sub-scripts and performs several operations. They are:
operasetup.py script
using -D or /D (for the preprocessor defines) and -I or /I (for the
include paths) the same way they're given to most compilers.
python operasetup.py /D CORE_GOGI /D WINGOGI /D PRODUCT_SYSTEM_FILE="platforms/wingogi/system.h" /I../../..The following command line arguments are available (a single dash
'-' for the define and include path options can be
replaced by a slash '/'):
"core/pch.h" is found.makelang.pl step. This option can
be used to separate the generation of english.db and
the strings header files, e.g. because the output files should be
generate in different output directories.modules
or modules/hardcore/scripts/../../../.--outroot=../../../opera/profiles/debug_tv/include.
The same path should be specified as include path on compiling the
sources, because some include files
like modules/locale/locale-enum.inc will be generated
in that directory.makelang.pl. Multiple language database files can
be specified. If no database file is specified, the default value
data/strings/english.db is used.makelang.pl. To add more than one option to the
command line arguments, add multiple --makelang_opt
arguments to the operasetup.py call.
perl makelang.pl -d OUTROOT/modules/locale -b OUTROOT/data/strings/build.strings -c 9 -q -H OPTIONS makelangDBs
where OUTROOT is the path specified in the
argument --outroot and makelangDBs is
specified by the command line option --makelang_db.PRODUCT_FEATURE_FILE,
PRODUCT_SYSTEM_FILE, PRODUCT_OPKEY_FILE,
PRODUCT_ACTIONS_FILE
and PRODUCT_TWEAKS_FILE. The generated files
modules/hardcore/setup/*/include/core/pch*.h include
the specified file. Either the generated pch*.h can be
copied to the source-root, or the path
modules/hardcore/setup/*/include can be added to the
include-paths to use those header files.#error statement.
Example:
/* -*- Mode: c++; tab-width: 4; c-basic-offset: 4 -*- * * Copyright (C) 1995-2009 Opera Software AS. All rights reserved. * * This file is part of the Opera web browser. * It may not be distributed under any circumstances. * */ #ifndef _MY_PLATFORM_PRODUCT_CONFIG_H_ #define _MY_PLATFORM_PRODUCT_CONFIG_H_ // This header file defines PRODUCT_FEATURE_FILE, PRODUCT_SYSTEM_FILE, // PRODUCT_OPKEY_FILE, PRODUCT_ACTIONS_FILE and PRODUCT_TWEAKS_FILE. // This header file is included in core/pch.h, core/pch_jumbo.h and // core/pch_system_includes.h before including // modules/hardcore/base/baseincludes.h - which then includes the here // defined header files: #define PRODUCT_FEATURE_FILE "platforms/my_platform/features.h" #define PRODUCT_SYSTEM_FILE "platforms/my_platform/system.h" #define PRODUCT_OPKEY_FILE "platforms/my_platform/opkeys.h" #define PRODUCT_ACTIONS_FILE "platforms/my_platform/actions.h" #define PRODUCT_TWEAKS_FILE "platforms/my_platform/tweaks.h" #endif // _PLATFORMS_CORE_PRODUCT_CONFIG_H_
makelang.pl. If the option is not
specified, perl is expected to be found in one of the
directories specified in the PATH environment
variable.parse_tests.pike. If the option is not
specified, pike is expected to be found in one of the
directories specified in the PATH environment
variable.Python version 2.4 may be working.
Older Python version are not supported.