Visual Studio: Make gen-gdkversionmacros-h.py generic
Rename the script as gen-version-items.py, and so make things more generic and usable by other items in the build. We want to eventually to be able to generate the .rc files and the *version*.h files from their *.in counterparts using this script.
This commit is contained in:
@ -42,7 +42,7 @@ EXTRA_DIST += \
|
|||||||
create-lists.bat \
|
create-lists.bat \
|
||||||
create-lists-msvc.mak \
|
create-lists-msvc.mak \
|
||||||
detectenv-msvc.mak \
|
detectenv-msvc.mak \
|
||||||
gen-gdkversionmacros-h.py \
|
gen-version-items.py \
|
||||||
generate-msvc.mak \
|
generate-msvc.mak \
|
||||||
gtk-introspection-msvc.mak \
|
gtk-introspection-msvc.mak \
|
||||||
introspection-msvc.mak \
|
introspection-msvc.mak \
|
||||||
|
|||||||
@ -1,35 +0,0 @@
|
|||||||
#!/usr/bin/python3
|
|
||||||
|
|
||||||
# Generate gdk/gdkversionmacros.h
|
|
||||||
|
|
||||||
# Author: Fan, Chun-wei
|
|
||||||
# Date: July 25, 2019
|
|
||||||
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import argparse
|
|
||||||
|
|
||||||
from replace import replace_multi, replace
|
|
||||||
|
|
||||||
def main(argv):
|
|
||||||
srcdir = os.path.dirname(__file__)
|
|
||||||
top_srcdir = os.path.join(srcdir, os.pardir)
|
|
||||||
parser = argparse.ArgumentParser(description='Generate gdkversionmacros.h')
|
|
||||||
parser.add_argument('--version', help='Version of the package',
|
|
||||||
required=True)
|
|
||||||
parser.add_argument('--outdir', help='Output location of generated file',
|
|
||||||
required=True)
|
|
||||||
args = parser.parse_args()
|
|
||||||
gdk_sourcedir = os.path.join(top_srcdir, 'gdk')
|
|
||||||
version_parts = args.version.split('.')
|
|
||||||
|
|
||||||
gdkversionmacro_replace_items = {'@GTK_MAJOR_VERSION@': version_parts[0],
|
|
||||||
'@GTK_MINOR_VERSION@': version_parts[1],
|
|
||||||
'@GTK_MICRO_VERSION@': version_parts[2]}
|
|
||||||
|
|
||||||
replace_multi(os.path.join(gdk_sourcedir, 'gdkversionmacros.h.in'),
|
|
||||||
os.path.join(args.outdir, 'gdkversionmacros.h'),
|
|
||||||
gdkversionmacro_replace_items)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
sys.exit(main(sys.argv))
|
|
||||||
46
win32/gen-version-items.py
Normal file
46
win32/gen-version-items.py
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
# Generate various items with version info
|
||||||
|
|
||||||
|
# Author: Fan, Chun-wei
|
||||||
|
# Date: July 25, 2019
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
from replace import replace_multi, replace
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
srcdir = os.path.dirname(__file__)
|
||||||
|
top_srcdir = os.path.join(srcdir, os.pardir)
|
||||||
|
parser = argparse.ArgumentParser(description='Generate various items with version info')
|
||||||
|
parser.add_argument('--version', help='Version of the package',
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('--interface-age', help='Interface age of the package',
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('--source', help='Source file template to process',
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('--output', '-o', help='Output generated file location',
|
||||||
|
required=True)
|
||||||
|
args = parser.parse_args()
|
||||||
|
gdk_sourcedir = os.path.join(top_srcdir, 'gdk')
|
||||||
|
version_parts = args.version.split('.')
|
||||||
|
# (100 * gtk_minor_version + gtk_micro_version - gtk_interface_age)
|
||||||
|
binary_age = (int(version_parts[1]) * 100) + int(version_parts[2])
|
||||||
|
lt_current = (int(version_parts[1]) * 100) + int(version_parts[2]) - int(args.interface_age)
|
||||||
|
lt_age = binary_age - int(args.interface_age)
|
||||||
|
|
||||||
|
version_info_replace_items = {'@GTK_MAJOR_VERSION@': version_parts[0],
|
||||||
|
'@GTK_MINOR_VERSION@': version_parts[1],
|
||||||
|
'@GTK_MICRO_VERSION@': version_parts[2],
|
||||||
|
'@GTK_API_VERSION@': '3.0',
|
||||||
|
'@GTK_VERSION@': args.version,
|
||||||
|
'@GTK_BINARY_AGE@': str(binary_age),
|
||||||
|
'@GTK_INTERFACE_AGE@': args.interface_age,
|
||||||
|
'@LT_CURRENT_MINUS_AGE@': str(lt_current - lt_age)}
|
||||||
|
|
||||||
|
replace_multi(args.source, args.output, version_info_replace_items)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(main(sys.argv))
|
||||||
@ -121,7 +121,7 @@ generate-base-sources: \
|
|||||||
.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkversionmacros.h: ..\gdk\gdkversionmacros.h.in
|
.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkversionmacros.h: ..\gdk\gdkversionmacros.h.in
|
||||||
@echo Generating $@...
|
@echo Generating $@...
|
||||||
@if not exist $(@D)\ md $(@D)
|
@if not exist $(@D)\ md $(@D)
|
||||||
@$(PYTHON) gen-gdkversionmacros-h.py --version=$(GTK_VERSION) --outdir=.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk
|
@$(PYTHON) gen-version-items.py --version=$(GTK_VERSION) --interface-age=$(GTK_INTERFACE_AGE) --source=$** --output=$@
|
||||||
|
|
||||||
.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkmarshalers.h: ..\gdk\gdkmarshalers.list
|
.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkmarshalers.h: ..\gdk\gdkmarshalers.list
|
||||||
@echo Generating $@...
|
@echo Generating $@...
|
||||||
|
|||||||
Reference in New Issue
Block a user