=head1 README

BBBike - a route-finder for cyclists in Berlin and Brandenburg

=head1 PREBUILT PACKAGES

You can check on L<http://bbbike.sourceforge.net/downloads.en.html> for prebuilt BBBike
packages (Windows, einige Linux-Distributionen, MacOSX, FreeBSD).

The following installation steps are necessary only for installing
BBBike from source.

=head1 INSTALLATION


=head2 All systems except Windows


=head3 Download

You can find the newest source distribution file of BBBike in the directory
L<http://sourceforge.net/projects/bbbike/files/BBBike/> . The current source version is
L<http://sourceforge.net/projects/bbbike/files/BBBike/3.18/BBBike-3.18.tar.gz/download> .

=head3 FreeBSD

For FreeBSD there is a I<port> for BBBike in the
category B<german>. For older versions of FreeBSD, you can find the
I<port> at L<http://www.freebsd.org/cgi/ports.cgi?query=bbbike&stype=all>.
To install the application via the ports system type:

	cd /usr/ports/german/BBBike
	make all install

If you don't have the BBBike I<port>, you can install BBBike like L<in other
UNIX's|/Linux, Solaris, other UNIX operating systems>.

=head3 Linux, Solaris, other UNIX operating systems

First, you have to install perl. Most operating systems have perl
already bundled. You can check with

	perl -v

whether and which version of perl is installed. Otherwise you can find
perl at L<http://www.perl.org/get.html>. You need at least version
5.005, but newer perl versions (5.6.x, 5.8.x, 5.10.x, 5.12.x, 5.14.x,
5.16.x) work, too.

Next step is to extract the BBBike distribution:


	zcat BBBike-3.18.tar.gz | tar xfv -

If perl/Tk (the recommended version is 804.028 or 800.025) is not installed:
type as super user:

        cd BBBike-3.18
	perl -I`pwd` -MCPAN -e shell
	force install Bundle::BBBike_small
	quit

Perl/Tk will be fetched over the internet, get compiled
and installed. "force" is needed because some modules (especially Tk)
have expected test failures and therefore would not be installed. If
you have problems, especially with the internet 
connection, then you should follow the instructions in

	perldoc perlmodinstall

on how to install a perl module manually (in this case: the Tk
module).

After that, you can start the program with


	perl bbbike


To compile some XS modules (this is optional and needs a C compiler)
and install the panel entry for KDE/GNOME, type:


	perl install.pl

or


	./install.sh



You can also use Bundle::BBBike instead of Bundle::BBBike_small. This
will install more Perl modules, some of them only useable for the
development, but some of them enabling more features of BBBike.

If you choose to not use "perl install.pl", but you want to compile
and install the XS modules for better performance, then you have to
execute

	make ext

This requires the perl module L<Inline::C>.

=head3 Mac OS X

Mac OS X comes already with perl 5.8.x. Now you just need XDarwin and Perl/Tk
to get BBBike running. For instructions how to setup Perl/Tk on Mac OS X
refer to the comp.lang.perl.tk newsgroup (see
L<http://groups.google.com>).

The following instructions are from Wolfram Kroll:

Get L<http://sourceforge.net/projects/bbbike/files/BBBike/3.18/BBBike-3.18.tar.gz/download> and (from
L<http://www.cpan.org>) perl-5.8.4-stable.tar.gz, Tk-804.027.tar.gz

=over

=item 1.
Perl configured to use dynamic libraries:

 # sh Configure -des -Duseshrplib
 # make
 # make test
 # sudo make install

--> /usr/local/ is the default (the original Perl is preserved)

=item 2.
Tk: that is not a Aqua-Tk, but rather is for X11, but...

 # make

in an X11 window: # make test

 sudo make install

=item 3.
bbbike under X11

runs!

=back

To compile bbbike under X11 the "Xcode" development tools are needed.
These can be found either on a CD-ROM of the same name (for older Macs)
or in the Applications folder under C<Installers/Xcode Tools/Developer.mpkg>
(for newer Macs).
 
An X11 environment or Darwin environment is also required (package X11SDK).

Mac OS Classic is not supported.


=head2 Windows 95/98/2000/NT/XP/Vista/7/8

=head3 Normal installation

BBBike and Perl need approx. 32 MB hard disk space.

Download the file
L<http://sourceforge.net/projects/bbbike/files/BBBike/3.18/BBBike-3.18-Windows.exe/download> and just start it for the installation
program.

=head3 Alternative Windows Installation (1)

As an alternative, you can install BBBike just with the sources. Steps
for Windows 95/98/2000/NT/XP users:

=over 4

=item *

Download the perl distribution from the ActiveState webpage:

L<http://www.activestate.com/activeperl/downloads>

or alternatively use Strawberry Perl:

L<http://strawberryperl.com/>



The Tk module needs to be installed using the following commands in
cmd.exe:

    perl -MCPAN -eshell
    force notest install Tk
    quit


=item *

Download
L<BBBike-3.18.tar.gz|http://sourceforge.net/projects/bbbike/files/BBBike/3.18/BBBike-3.18-Windows.exe/download>
and extract this file. The unpacked directory may be moved to another
position in the filesystem.

=item *

Open the explorer, change to the BBBike-3.18 directory and call


	install.pl.

The installation program creates entries in the start
menu and a desktop icon.

=back

=head3 Alternative Windows Installation (2)

If you have Cygwin (L<http://www.cygwin.org/>) installed, you can start
a cygwin shell and follow the
L<UNIX instructions|/Linux, Solaris, other UNIX operating systems>.

=head3 Alternative Windows Installation (3)

For very old systems (Windows95, 98) you can download an older distribution with Tk
included:

L<http://www.perl.com/CPAN/ports/win32/Standard/x86/perl5.00402-bindist04-bc.tar.gz>

You have to extract this file with WinZip or gunzip+tar. In the
extracted directory, there will be the installation program
C<install.bat>. Call this program in the MSDOS prompt and follow the
instructions.

If you're using this old version of perl (5.004_02), you also need an
old version of BBBike, at least older than version 3.00.

=head3 Windows 3.1

Windows 3.1 is not supported anymore. Older BBBike versions (for
example 2.x) have instructions on how to use BBBike under Windows 3.1.


=head1 EXECUTION

=head2 Perl/Tk version

To execute BBBike on Unix, change to the bbbike directory and type


	perl bbbike

in the shell. With a full KDE/GNOME installation, there is an icon in the
application menu item
of the start menu. On Windows, there is a start menu entry for
BBBike.

To switch the English language support, please set the LC_ALL,
LC_MESSAGES, or LANG environment variables to "en" or something
similar (for FreeBSD and Linux, this is "en_US.UTF-8"). For Unix,
this can be done with


	env LC_ALL=en_US.UTF-8 perl bbbike


Some versions of BBBike are tested with: Linux (Debian wheezy, Debian squeeze, Debian etch, Ubuntu 12.04, CentOS, Suse 7.0 und 6.4, Red Hat 8.0), FreeBSD (Version 9.1, 9.0, 8.0, 6.1, 4.9, 4.6, 3.5), Windows (Windows 8, Windows 7, Vista, XP, 2000, NT 4.0, 98, 95), MacOSX (10.4, 10.5 ...), Solaris (Version 8 und 2.5). The
development machine runs with FreeBSD.

=head2 WWW version

There is a simple cgi version at

L<http://www.bbbike.de>

More information for the CGI version at:

L<http://bbbike.de/cgi-bin/bbbike.cgi/info=1>





=head1 DEVELOPMENT

=head2 git

The current BBBike development may be tracked via git.

To fetch the git repository type the following in the command line:


    git clone git://github.com/eserte/bbbike.git

to update the next time

    cd bbbike
    git pull

The git repository is frequently updated and also contains the current
data.




=head2
Application update

It is also possible to download a current snapshot using the URL
L<http://www.bbbike.de/cgi-bin/bbbike-snapshot.cgi>.

=head2
Data update

To update only the data part of BBBike, just download the current data
as a ZIP file from L<http://www.bbbike.de/cgi-bin/bbbike-data.cgi>. The ZIP file has to be
extracted in the BBBike program directory (Windows: in
C<C:\Programme\BBBike\bbbike>).

The data may also be updated within the Perl/Tk application, using the
menu item Settings > Data update over internet.


=head1 DOCUMENTATION

The L<documentation|bbbike> can be accessed in pod format (C<bbbike.pod>) or in
html format (C<bbbike.html>). You can read the pod version with tkpod,
perldoc or from bbbike (if B<Tk::Pod> is installed).


=head1 LICENSE

The most important parts of the application (C<bbbike>, C<cgi/bbbike.cgi>,
C<Strassen.pm> and C<Strassen/Inline.pm>) and the data in the
subdirectory C<data> are released unter the
L<GPL|http://www.opensource.org/licenses/gpl-license.html>.
The other files can be redristibuted either under the L<Artistic
License|http://www.opensource.org/licenses/artistic-license.html> or
the GPL. Please refer to the source files.

Some module und files from other authors are included in this
distribution: C<lib/your.pm> by Michael G Schwern,
C<lib/Text/ScriptTemplate.pm> by Taisuke Yamada, C<lib/enum.pm> by
Zenin, C<ext/Strassen-Inline/heap.[ch]> by Internet Software
Consortium, C<ext/BBBikeXS/sqrt.c> by Eyal Lebedinsky.

C<BBBike-3.18-Windows.zip> contains a partial
C<Strawberry Perl> distribution, see
L<http://strawberryperl.com/>

=head1 AUTHOR

Slaven Rezic, E-Mail: L<slaven@rezic.de|mailto:slaven@rezic.de>
