Difference between revisions of "XMLTVexeBuild"

From XMLTV
Jump to: navigation, search
(Created page with "** DRAFT, NOT FINISHED ** == How to build XMLTV.EXE == First, let's be clear.. this is not cheap nor easy. Building XMLTV.EXE requires purchasing [http://www.activestate.co...")
 
Line 1: Line 1:
** DRAFT, NOT FINISHED **
+
== DRAFT, NOT FINISHED ==
  
 
== How to build XMLTV.EXE ==
 
== How to build XMLTV.EXE ==
Line 21: Line 21:
 
   I used C:\strawberryport\perl\site\lib\auto\share\dist\Perl-Dist-Strawberry\32bit-5.18.2.1.pp to build
 
   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!
  
1. Install [[http://strawberryperl.com/releases.html Strawberry Perl Portable Edition]] I put mine in c:\strawberryport
+
3. Perl's Makefile.mk needs to be modifiedC:\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
  
2. I recommend removing any other Perl or GCC stuff from your Path.  It may not be needed, but It's safer.
+
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
  
3. Execute "c:\strawberryport\portableshell.bat"  to open a command shell with the right environment variables.
+
5. Make your own *.pp file based on 32bit-5.18.2.1.pp. (I used xmltv.pp, the name doesn't matter)
  
4. Execute "perldist_strawberry"
+
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 ==

Revision as of 06:56, 6 August 2014

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