no more submodule
This commit is contained in:
112
GtkSharp/Source/OldStuff/sources/Generating-Sources.md
Normal file
112
GtkSharp/Source/OldStuff/sources/Generating-Sources.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# Generating Sources
|
||||
|
||||
## Overview
|
||||
|
||||
This is a quick overview of some of the commands to run when updating the sources for a new gtk version
|
||||
|
||||
### Linux
|
||||
|
||||
You may need to install the following package for generating the source under Linux
|
||||
```
|
||||
sudo apt-get install libxml-libxml-perl
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
So far I've only managed to get this working in ubuntu, not Windows due to the way the .net app launches the perl script via libc
|
||||
i.e. [DllImport ("libc")]
|
||||
|
||||
It looks like we need to use the 32bit version of MinGW if we do try it this way.
|
||||
The following path statements are needed in the console at the very least
|
||||
```
|
||||
PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ SDKs/Windows/v10.0A/bin/NETFX\ 4.6\ Tools/
|
||||
PATH=$PATH:/c/Windows/Microsoft.NET/Framework/v4.0.30319/
|
||||
```
|
||||
|
||||
Also the parser can be rebuilt via
|
||||
```
|
||||
./autogen.sh --prefix=/tmp/install
|
||||
cd parser
|
||||
make clean
|
||||
make
|
||||
```
|
||||
|
||||
Also it's important to make sure MSYS2 is uptodate with
|
||||
```
|
||||
pacman -Syuu
|
||||
```
|
||||
|
||||
To search for a package that's been install (to see what version it is for example)
|
||||
```
|
||||
pacman -Ss gtk3
|
||||
```
|
||||
|
||||
|
||||
## Editing Files for Downloaded Source
|
||||
|
||||
### Configure.ac version number
|
||||
|
||||
First change the version number in configure.ac to match that of the gtk version we're moving to
|
||||
```
|
||||
AC_INIT(gtk-sharp, 3.22.1)
|
||||
```
|
||||
|
||||
### Sources/Makefile.am
|
||||
|
||||
Next change the version number in sources/Makefile.am to match
|
||||
```
|
||||
TARGET_GTK_VERSION=3.22.1
|
||||
TARGET_GTK_API=3.22
|
||||
```
|
||||
|
||||
Next update the orher url's in Makefile.am, the version numbers should match those in use on the system (such as MSYS2)
|
||||
```
|
||||
GTK_DOWNLOADS = \
|
||||
http://ftp.gnome.org/pub/GNOME/sources/glib/2.50/glib-2.50.0.tar.xz \
|
||||
http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.3.tar.xz \
|
||||
http://ftp.gnome.org/pub/GNOME/sources/atk/2.22/atk-2.22.0.tar.xz \
|
||||
http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.0.tar.xz \
|
||||
http://ftp.gnome.org/pub/GNOME/sources/gtk+/$(TARGET_GTK_API)/gtk+-$(TARGET_GTK_VERSION).tar.xz
|
||||
```
|
||||
|
||||
### Patches
|
||||
|
||||
As part of the source code download, some of the files will be patched
|
||||
so you need to look at and check that all the patches apply correctly to the downloaded source when running make get-source-code
|
||||
|
||||
|
||||
## Download the sources
|
||||
|
||||
Next we're going to download the source
|
||||
```
|
||||
./autogen.sh --prefix=/tmp/install
|
||||
cd sources
|
||||
make get-source-code
|
||||
```
|
||||
|
||||
At this stage the sources should now be extracted within the sources sub directory
|
||||
|
||||
### Update sources.xml
|
||||
|
||||
One last file to update is the sources/sources.xml file
|
||||
all directories in this file need to match the extracted directories
|
||||
|
||||
## Generate the API Code
|
||||
|
||||
### Generate the XML Files
|
||||
|
||||
Next to generate the xml files needed for the generation of code
|
||||
```
|
||||
make api
|
||||
```
|
||||
|
||||
This should result in the following files
|
||||
|
||||
* gdk/gdk-api.raw
|
||||
* gio/gio-api.raw
|
||||
* gtk/gtk-api.raw
|
||||
* pango/pango-api.raw
|
||||
|
||||
### Generate the API Code from the XML Files
|
||||
|
||||
TODO we need to use generator/gapi_codegen.exe on each of the xml files to generate the .cs code within the generated sub directories
|
||||
Reference in New Issue
Block a user