2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 01:12:13 +00:00

Remove more V2 files.

[SVN r20561]
This commit is contained in:
Vladimir Prus
2003-10-30 07:31:23 +00:00
parent d52f074d91
commit 9cbf81ea2d
52 changed files with 0 additions and 829 deletions

View File

@@ -1,2 +0,0 @@
boost-build ../kernel ;

View File

@@ -1,2 +0,0 @@
exe codegen : codegen.cpp class.verbatim usage.verbatim ;

View File

@@ -1,7 +0,0 @@
class_template
class %class_name% {
public:
%class_name%() {}
~%class_name%() {}
};

View File

@@ -1,37 +0,0 @@
// (C) Copyright Vladimir Prus, 2003
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Please see 'usage.verbatim' file for usage notes.
#include <iostream>
#include <string>
#include <cstring>
using std::cout;
using std::string;
using std::strlen;
extern const char class_template[];
extern const char usage[];
int main(int ac, char* av[])
{
if (av[1]) {
string class_name = av[1];
string s = class_template;
string::size_type n;
while((n = s.find("%class_name%")) != string::npos) {
s.replace(n, strlen("%class_name%"), class_name);
}
std::cout << "Output is:\n";
std::cout << s << "\n";
return 0;
} else {
std::cout << usage << "\n";
return 1;
}
}

View File

@@ -1,45 +0,0 @@
#!/usr/bin/python
# Copyright (C) Vladimir Prus 2003. Permission to copy, use, modify, sell and
# distribute this software is granted provided this copyright notice appears in
# all copies. This software is provided "as is" without express or implied
# warranty, and with no claim as to its suitability for any purpose.
import sys
from string import strip
def quote_line(line):
result = ""
for i in line:
if (i == '\\'):
result = result + '\\\\'
elif (i == '\"'):
result = result + '\\\"'
elif (i != '\r' and i != '\n'):
result = result + i;
return '\"' + result + '\\n\"'
def quote_file(file):
result = ""
for i in file.readlines():
result = result + quote_line(i) + "\n"
return result
if len(sys.argv) < 3:
print "Usage: inline_file.py output_c_file file_to_include"
else:
output_c_file = sys.argv[1]
out_file = open(output_c_file, "w");
file_to_include = sys.argv[2]
in_file = open(file_to_include, "r");
variable_name = strip(in_file.readline())
out_file.write("extern const char %s[] = {\n%s};\n\n" % (variable_name, quote_file(in_file)))
in_file.close()
out_file.close()

View File

@@ -1,2 +0,0 @@
import verbatim ;

View File

@@ -1,7 +0,0 @@
This example show how to add a new target type and a new tool
support to Boost.Build. Please refer to extender manual for
complete description of this example.
Note that this example requires Python. If cygwin Python on Windows is
to be used, please go to "verbatim.jam" and follow instructions there.

View File

@@ -1,6 +0,0 @@
usage
Usage: codegen class_name
This program takes a template of C++ code and replaces of
occurences of %class_name% with the passed 'class_name'
parameter.

View File

@@ -1,14 +0,0 @@
import type ;
type.register VERBATIM : verbatim ;
import generators ;
generators.register-standard verbatim.inline-file : VERBATIM : CPP ;
# Note: To use Cygwin Python on Windows change the following line
# to "python inline_file.py $(<) $(>)"
# Also, make sure that "python" in in PATH.
actions inline-file
{
"./inline_file.py" $(<) $(>)
}

View File

@@ -1,22 +0,0 @@
# Declare a main target.
exe main : main.cpp ;
# Declare an action for updating translations
# After changing main.cpp, invocation of
#
# bjam update-russian
#
# will update translations in russian.po
gettext.update update-russian : russian.po main ;
# Compiled message catalog.
gettext.catalog russian : russian.po ;
# A stage rule which installs message catalog to the
# location gettext expects.
stage messages-russian : russian
: <location>messages/ru_RU.KOI8-R/LC_MESSAGES
<name>main
;

View File

@@ -1,23 +0,0 @@
#include <locale.h>
#include <libintl.h>
#define i18n(s) gettext(s)
#include <iostream>
using namespace std;
int main()
{
// Specify that translations are stored in directory
// "messages".
bindtextdomain("main", "messages");
textdomain("main");
// Switch to russian locale.
setlocale(LC_MESSAGES, "ru_RU.KOI8-R");
// Output localized message.
std::cout << i18n("hello") << "\n";
return 0;
}

View File

@@ -1,2 +0,0 @@
using gettext ;

View File

@@ -1,21 +0,0 @@
This example shows how it's possible to used GNU gettext utilities with
Boost.Build.
A simple translation file is compiled and installed as message catalog for
russian. The main application explicitly switches to russian locale and
output the translation of "hello".
To test:
bjam
bin/gcc/debug/main
To test even more:
- add more localized strings to "main.cpp"
- run "bjam update-russian"
- edit "russian.po"
- run bjam
- run "main"

View File

@@ -1,21 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2003-07-01 15:45+0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: main.cpp:16
msgid "hello"
msgstr "international hello"

View File

@@ -1,2 +0,0 @@
exe hello : hello.cpp ;

View File

@@ -1,17 +0,0 @@
// Copyright (c) 2003 boost.org
//
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
//
// http://www.boost.org
//
#include <iostream>
int main()
{
std::cout << "Hello!\n";
return 1;
}

View File

@@ -1,2 +0,0 @@
build-project app ;

View File

@@ -1,5 +0,0 @@
# Declare a executable file, which uses a library. Note that
# includes that for library will be automatically used
# when compiling 'app.cpp'
exe app : app.cpp ../lib1//lib1 ;

View File

@@ -1,16 +0,0 @@
// Copyright (c) 2003 boost.org
//
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
//
// http://www.boost.org
//
#include <lib1.h>
int main()
{
foo();
}

View File

@@ -1,5 +0,0 @@
project lib1
: usage-requirements <include>include ;
lib lib1 : lib1.cpp ;

View File

@@ -1,11 +0,0 @@
// Copyright (c) 2003 boost.org
//
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
//
// http://www.boost.org
//
void foo();

View File

@@ -1,14 +0,0 @@
// Copyright (c) 2003 boost.org
//
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
//
// http://www.boost.org
//
#ifdef _WIN32
__declspec(dllexport)
#endif
void foo() {};

View File

@@ -1,5 +0,0 @@
import gcc ;
import toolset : using ;
using borland ;

View File

@@ -1,22 +0,0 @@
# Declare a project id.
project make
# Specify requirements for this project. They will be propagated to child project.
# Use 'bjam -n' to see that MACRO is defined when compiling lib/b.obj
: requirements <define>MACRO
;
# Load a project located at "extlib", and associated with project-id "/extlib".
use-project /extlib : extlib ;
# Construct a target 'a' from a list of sources using the specified rule.
make a
: a.o # Use a target declared in this Jamfile
lib/b.o # Use a target from other Jamfile
@/extlib/c.o # Refer to a library by project-id
: gcc.link ;
# Construct another target.
make a.o : a.cpp : gcc.compile ;

View File

@@ -1,14 +0,0 @@
// Copyright (c) 2003 boost.org
//
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
//
// http://www.boost.org
//
int main()
{
return 0;
}

View File

@@ -1,4 +0,0 @@
project extlib ;
make c.o : c.cpp : gcc.compile ;

View File

@@ -1,9 +0,0 @@
// Copyright (c) 2003 boost.org
//
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
//
// http://www.boost.org
//

View File

@@ -1,44 +0,0 @@
import property ;
rule compile ( target : sources * : property-set * )
{
local options ;
for local p in $(property-set)
{
if $(p) = <optimization>on
{
options += -O2 ;
}
else if $(p) = <debug-symbols>on
{
options += -g ;
}
else if $(p:G) = <define>
{
options += -D$(p:G=) ;
}
}
OPTIONS on $(target) = $(options) ;
}
actions compile
{
g++ $(OPTIONS) -c -o $(<) $(>)
}
rule link ( target : sources * : property-set * )
{
local options ;
if <debug-symbols>on in $(property-set)
{
options += -g ;
}
OPTIONS on $(target) = $(options) ;
}
actions link
{
g++ $(OPTIONS) -o $(<) $(>)
}

View File

@@ -1,44 +0,0 @@
import property ;
rule compile ( target : sources * : property-set * )
{
local options ;
for local p in $(property-set)
{
if $(p) = <optimization>on
{
options += -O2 ;
}
else if $(p) = <debug-symbols>on
{
options += -g ;
}
else if $(p:G) = <define>
{
options += -D$(p:G=) ;
}
}
OPTIONS on $(target) = $(options) ;
}
actions compile
{
g++ $(OPTIONS) -c -o $(<) $(>)
}
rule link ( target : sources * : property-set * )
{
local options ;
if <debug-symbols>on in $(property-set)
{
options += -g ;
}
OPTIONS on $(target) = $(options) ;
}
actions link
{
g++ $(OPTIONS) -o $(<) $(>)
}

View File

@@ -1,2 +0,0 @@
make b.o : b.cpp : gcc.compile ;

View File

@@ -1,9 +0,0 @@
// Copyright (c) 2003 boost.org
//
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
//
// http://www.boost.org
//

View File

@@ -1,2 +0,0 @@
import gcc ;

View File

@@ -1,17 +0,0 @@
Example of a simple project, which builds an executable using g++.
All the transformations are specified explicitly.
It illustrates the use of project identifiers to refer to other targets
and also project requirements.
Interesting commands would be
bjam
bjam release
bjam release clean
bjam release debug-symbols=on
Also, you can use jam's "-n" option to check if "debug"/"release" have any
effect on commands executed. (Note that "-n" should go before any non-option
elements on command line).

View File

@@ -1,6 +0,0 @@
project
: default-build <threading>multi
;
exe hello : main.cpp hello_world_widget.ui : <library>/qt//qt ;

View File

@@ -1,6 +0,0 @@
TEMPLATE = app
TARGET = helloworld
CONFIG += qt warn_on debug
SOURCES += main.cpp
FORMS = hello_world_widget.ui
OBJECTS_DIR = foo

View File

@@ -1,50 +0,0 @@
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
<class>HelloWorldWidget</class>
<widget class="QWidget">
<property name="name">
<cstring>HelloWorldWidget</cstring>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>124</width>
<height>63</height>
</rect>
</property>
<property name="caption">
<string>Hello World!</string>
</property>
<vbox>
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="margin">
<number>11</number>
</property>
<property name="spacing">
<number>6</number>
</property>
<widget class="QLabel">
<property name="name">
<cstring>TextLabel2</cstring>
</property>
<property name="text">
<string>Hello World!</string>
</property>
<property name="alignment">
<set>AlignCenter</set>
</property>
</widget>
<widget class="QPushButton">
<property name="name">
<cstring>OkButton</cstring>
</property>
<property name="text">
<string>OK</string>
</property>
</widget>
</vbox>
</widget>
<layoutdefaults spacing="6" margin="11"/>
</UI>

View File

@@ -1,13 +0,0 @@
#include "hello_world_widget.h"
#include <qapplication.h>
#include <qpushbutton.h>
int main(int argc, char **argv) {
QApplication a(argc, argv);
HelloWorldWidget w;
QObject::connect(static_cast<QObject*>(w.OkButton), SIGNAL(clicked()), &w, SLOT(close()));
a.setMainWidget(&w);
w.show();
return a.exec();
}

View File

@@ -1,12 +0,0 @@
import gcc ;
import toolset ;
# Tell that QT should be used. QTDIR will give installation
# prefix.
toolset.using qt ;
#Alternatively, the prefix can be given as second argument
#toolset.using qt : /usr/share/qt ;
#type.change-generated-target-suffix H : : hpp ;

View File

@@ -1,7 +0,0 @@
project
# built MT version, unless asked otherwise.
: default-build <threading>multi
;
exe t7 : main.cpp lcdrange.cpp lcdrange.h : <library>/qt//qt ;

View File

@@ -1,33 +0,0 @@
/****************************************************************
**
** Implementation of LCDRange class, Qt tutorial 7
**
****************************************************************/
#include "lcdrange.h"
#include <qslider.h>
#include <qlcdnumber.h>
LCDRange::LCDRange( QWidget *parent, const char *name )
: QVBox( parent, name )
{
QLCDNumber *lcd = new QLCDNumber( 2, this, "lcd" );
slider = new QSlider( Horizontal, this, "slider" );
slider->setRange( 0, 99 );
slider->setValue( 0 );
connect( slider, SIGNAL(valueChanged(int)),
lcd, SLOT(display(int)) );
connect( slider, SIGNAL(valueChanged(int)),
SIGNAL(valueChanged(int)) );
}
int LCDRange::value() const
{
return slider->value();
}
void LCDRange::setValue( int value )
{
slider->setValue( value );
}

View File

@@ -1,34 +0,0 @@
/****************************************************************
**
** Definition of LCDRange class, Qt tutorial 7
**
****************************************************************/
#ifndef LCDRANGE_H
#define LCDRANGE_H
#include <qvbox.h>
class QSlider;
class LCDRange : public QVBox
{
Q_OBJECT
public:
LCDRange( QWidget *parent=0, const char *name=0 );
int value() const;
public slots:
void setValue( int );
signals:
void valueChanged( int );
private:
QSlider *slider;
};
#endif // LCDRANGE_H

View File

@@ -1,55 +0,0 @@
/****************************************************************
**
** Qt tutorial 7
**
****************************************************************/
#include <qapplication.h>
#include <qpushbutton.h>
#include <qlcdnumber.h>
#include <qfont.h>
#include <qvbox.h>
#include <qgrid.h>
#include "lcdrange.h"
class MyWidget : public QVBox
{
public:
MyWidget( QWidget *parent=0, const char *name=0 );
};
MyWidget::MyWidget( QWidget *parent, const char *name )
: QVBox( parent, name )
{
QPushButton *quit = new QPushButton( "Quit", this, "quit" );
quit->setFont( QFont( "Times", 18, QFont::Bold ) );
connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );
QGrid *grid = new QGrid( 4, this );
LCDRange *previous = 0;
for( int r = 0 ; r < 4 ; r++ ) {
for( int c = 0 ; c < 4 ; c++ ) {
LCDRange* lr = new LCDRange( grid );
if ( previous )
connect( lr, SIGNAL(valueChanged(int)),
previous, SLOT(setValue(int)) );
previous = lr;
}
}
}
int main( int argc, char **argv )
{
QApplication a( argc, argv );
MyWidget w;
a.setMainWidget( &w );
w.show();
return a.exec();
}

View File

@@ -1,9 +0,0 @@
import toolset ;
# Tell that QT should be used. QTDIR will give installation
# prefix.
toolset.using qt ;
#Alternatively, the prefix can be given as second argument
#toolset.using qt : /usr/share/qt ;

View File

@@ -1,12 +0,0 @@
/* (C) Copyright Rene Rivera, 2003.
**
** See accompanying license for terms and conditions of use.
*/
#include <iostream>
int main()
{
std::cout << "Hello!\n";
return 1;
}

View File

@@ -1,10 +0,0 @@
# (C) Copyright Rene Rivera, 2003.
#
# See accompanying license for terms and conditions of use.
#
#~ exe hello : hello.cpp : <version>1.0 ;
lib hello : hello.cpp : <version>1.0 ;
symlink hello_debug hello_release : hello/<variant>debug hello/<variant>release ;
symlink links/hello_release : hello/<variant>release ;

View File

@@ -1,8 +0,0 @@
# (C) Copyright Rene Rivera, 2003.
#
# See accompanying license for terms and conditions of use.
#
import gcc ;
import toolset ;
import modifiers ;

View File

@@ -1,104 +0,0 @@
(Transformations which include some parser/lexer generators)
EXE <------- OBJ* <--------- foo.cpp
^
| asm_parser.lr0
| ^
| |
--------- asm_parser.{cpp,h} <------ parser.whl -O
| | |
| | |---- asm.wd
| | |
| O--- asm_lexer.{cpp,h} <------ lexer.dlp -O
|
|
|
O-------- g.cpp, g.h ----- g.y
(QT transformation sequence)
EXE <------- OBJ* <-------- foo.cpp
^
|
|
|
O------ dialog_ui.cpp <---------------------O
| ^ |---- dialog.ui
| \------- dialog_ui.h <---O
|
O------ foo_moc.cpp <------- foo.h
(Transofrmation sequence I need)
EST.EXE <---- OBJ* <----------------------------------------- CPP
^
|
+--------------------- CPP <---+------------NM_ ASM
| |
+- CPP <------ STATIC_DATA* <--+
| STATIC_DATA ^
| |
| |
| NM_ASM <--- CPP <---------- ECPP
+--------------------------- CPP <-+
NM.EXE <---- NM_OBJ * <-------- NM_ASM <------ CPP
<-------- NM_ASM
Note: all STATIC_DATA files produced from sources are linked together
to create one CPP and one STATIC_DATA file.
(MSVC transformation seqeuence, thanks to Markus Schöpflin)
The project consists of a static library (build with cl and not using
precompiled headers), ressources and more source files (compiled using
precompiled headers) and results in a dll, the import library for the
dll and the program database file (for debugging). Source code browser
information are build as well. A debug build is assumed.
The picture gets a little more complicated if you're doing COM. :-)
bscmake
stdafx.cpp stdafx.sbr ---------+-----+------------> project.bsc
*.h \ cl ^ ^ (7)
>--------> stdafx.obj----+ | |
/ (1) project.pch +----------------+
stdafx.h | | | |
\ cl v *.sbr | |
*.cpp, *.h >-----------------+--------> | |
/ (2) *.obj --------+
ressource.h | | link project.dll
\ rc | +------> project.lib
project.rc >--------> project.res --------------------+ (6) project.pdb
*.rc2 / (5) | |
... / +-----------------------+ |
| |
*.cpp \ cl *.sbr |
>---------> lib |
*.h / (3) *.obj ---------> *.lib ---------+
(4)
Notes:
(1) The precompiled header file (project.pch) is created using cl with
some special command line options. The names stdafx.h and stdafx.cpp can
be changed of course but are pretty common.
(2) The sources are compiled using the precompiled header file created
in step 1. cl needs another command line option for this.
(3) Some more sources are compiled not using precompiled headers at all.
Yet another command line for cl.
(4) The object files create in step 3 are combined into a static library.
(5) Various ressource files are compiled using rc.
(6) The whole project is linked with stdafx.obj, the object files created
in step 2, project.res, the libs creates in step 4 and any other external
libraries needed.
(7) Source code browser information is compiled from all sbr files into
the single bsc file needed by the IDE.

View File

@@ -1,4 +0,0 @@
project-root ;
exe foo : foo.cpp ;

View File

View File

@@ -1,11 +0,0 @@
// Copyright (c) 2003 boost.org
//
// Permission to copy, use, modify, sell and distribute this software
// is granted provided this copyright notice appears in all copies.
// This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
//
// http://www.boost.org
//
int main() { return 0; }