XMLTVexeBuild

From XMLTV
Revision as of 06:57, 6 August 2014 by Rmeden (Talk | contribs)

Jump to: navigation, search

DRAFT, NOT FINISHED

How to build XMLTV.EXE

First, let's be clear.. this is not cheap nor easy. Building XMLTV.EXE requires purchasing ActiveState's Perl Developer Kit for about US$300. Most people can easily live with the Windows distribution and Alpha EXE. Those that need to modify a script, I suggest running a XMLTVWindowsBuild Native Windows Build.


For many years, this was black magic... I (Robert) had a PC where I had all the necessary modules working and I didn't touch it except to build XMLTV.EXE. That version of perl was very old.. but it kept working. Perl modules were obtained via ppm, cygwin, and more places than I could remember. It wasn't reproducible. The time had come to modernize and thanks to [Strawberry Perl] reproducible.


So, let's begin..



1. First follow the [Procedure to Build your own Strawberry Perl]

  I used c:\strawberryport  for my Portable Strawberry
  I used c:\strawberry_build for my build directory
  I used c:\strawberry for my output directory
  I used C:\strawberryport\perl\site\lib\auto\share\dist\Perl-Dist-Strawberry\32bit-5.18.2.1.pp to build

2. Once I had could build a stock working Strawberry Perl I was ready to modify it!

3. Perl's Makefile.mk needs to be modified. C:\strawberry_build\download should have your official perl distribution in it. Copy the perl-5.x/win32/makefile.mk file from the perl TGZ file to c:\strawberryport\win32_makefile.mk

4. Make this change to your custom win32_makefile.mk

  old: LINK_FLAGS	= $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)"
  new: LINK_FLAGS	= $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)" -static-libgcc -static-libstdc++ -static -lpthread

5. Make your own *.pp file based on 32bit-5.18.2.1.pp. (I used xmltv.pp, the name doesn't matter)

4. Edit the xmltv.pp (or whatever you called it)

  In the "InstallPerlCore" step, there should be a "Patch" section.  Tell it to replace makefile.mk with your modified version
  'win32_makefile.mk' => 'win32/makefile.mk',

5. Build Strawberry using your custom job

  perldist_strawberry -job xmltv.pp

6. You should have a working perl at c:\strawberry!

7. Install ActiveState's Perl Dev Kit and give it a shot (add c:\strawberry to your path)

8. Follow the XMLTVWindowsBuild Native Windows Build instructions to build a working XMLTV. (test it locally of course!)

9. If XMLTV works, and PerlApp works, you should be able to build xmltv!

  dmake xmltv.exe

Good Luck