Building podzilla in cygwin

From wikiPodLinux

Note: This page is painfully out-of-date. Building_Podzilla_for_the_Desktop may be of more interest. These instructions are hardly helpful; this page should be deleted.


Table of contents

Introduction

These are roughly cut build instructions to build podzilla for X11 under Windows/Cygwin. This is probably not the prettiest way to do this, if you know a better way, please update.

Microwindows

1) Extract this archive in the folder where where you keep your X11 version of microwindows: Image:Microwindows_include_bogus.tgz

2) Copy the X11 config

cp microwindows/src/Configs/config.ipod_x11 microwindows/src/config

3) Change these options in config: (I might have turned off more than required)

LINK_APP_INTO_SERVER     = Y
HAVE_BMP_SUPPORT         = N
HAVE_PNM_SUPPORT         = N
HAVE_JPEG_SUPPORT        = N
HAVE_FREETYPE_SUPPORT    = N
HAVE_PCFGZ_SUPPORT       = N

4) Edit microwindows/src/Makefile.rules

4.1) Add "-I$(TOP)/../include_bogus" to INCLUDEDIRS:

- INCLUDEDIRS += -I. -I$(TOP)/include 
+ INCLUDEDIRS += -I. -I$(TOP)/include -I$(TOP)/../include_bogus

4.2) Add "/usr/X11R6/bin/libX11.dll" to MW_CORE_LIBS:

- MW_CORE_LIBS := 
+ MW_CORE_LIBS := /usr/X11R6/bin/libX11.dll

If you get this error:

make[2]: *** No rule to make target `/usr/X11R6/bin/libX11.dll', needed by `/home/YourName/ipodlinux/microwindows/ipod-x11/src/bin/nxkbd'.  Stop.
make[1]: *** [subdir-nxkbd] Error 2

try adding "/usr/X11R6/bin/cygX11-6.dll" instead of "/usr/X11R6/bin/libX11.dll"

5) Make microwindows and hope for the best:

make

podzilla

1) Edit Makefile

1.1) In the non-ipod section, make sure that the path to microwindows is the path to your X11 version of microwindows.

1.2) Also in the non-IPOD section, remove "-I$(LIBITUNESDB)" from CFLAGS:

-CFLAGS+=\
       -Wall -g \
       -I$(MICROWINDOWS)/include \
       -I$(LIBITUNESDB) \ 
       -DPZ_VER="$(PZ_VER)"
+CFLAGS+=\
       -Wall -g \
       -I$(MICROWINDOWS)/include \
       -DPZ_VER="$(PZ_VER)"

1.3) In the same section, add "/usr/X11R6/bin/libX11.dll" to and remove "$(LIBITUNESDB)/.libs/libitunesdb.a" from LDFLAGS:

-LDFLAGS+=\
       $(MICROWINDOWS)/lib/libnano-X.a \
       $(MICROWINDOWS)/lib/libmwengine.a \ 
       $(MICROWINDOWS)/lib/libmwdrivers.a \
       $(MICROWINDOWS)/lib/libmwfonts.a \
       $(LIBITUNESDB)/.libs/libitunesdb.a
+LDFLAGS+=\
       /usr/X11R6/bin/libX11.dll \
       $(MICROWINDOWS)/lib/libnano-X.a \
       $(MICROWINDOWS)/lib/libmwengine.a \
       $(MICROWINDOWS)/lib/libmwdrivers.a \
       $(MICROWINDOWS)/lib/libmwfonts.a 

1.4) Comment out itunes_db.o and itunesmenu.o from the OBJS list.

-       btree.o \
+       btree.o
+ifneq ($(IPOD),)
+OBJS+=\
        itunes_db.o \
-       itunesmenu.o \
+       itunesmenu.o
+endif
+OBJS+=\

2) Edit ipod.c, add stub definitions of IOR and IOW:

#include "ipod.h"
#include "pz.h"

+#ifndef IPOD
+#define _IOR(a, b, c) -1
+#define _IOW(a, b, c) -1
+#endif 

#define FBIOGET_CONTRAST	_IOR('F', 0x22, int)

3) Edit menu.c, remove the itunesdb pages:

Index: menu.c
===================================================================
RCS file: /cvsroot/ipodlinux/tools/podzilla/menu.c,v
retrieving revision 1.26
diff -u -r1.26 menu.c
--- menu.c      5 Jan 2005 14:53:53 -0000       1.26
+++ menu.c      5 Jan 2005 23:52:38 -0000
@@ -37,10 +37,12 @@
 extern void new_oth_window(void);
 extern void new_steroids_window(void);
 extern void new_bluecube_window(void);
+#ifdef IPOD
 extern void new_itunes_track(void);
 extern void new_itunes_artist(void);
 extern void new_itunes_album(void);
 extern void new_itunes_plist(void);
+#endif
 extern void new_pong_window(void);
 extern void new_mines_window(void);
 extern void new_calc_window(void);
@@ -162,6 +164,7 @@
        {0, 0, 0, NOSETTING, 0}
 };

+#ifdef IPOD
 static struct menu_item itunes_menu[] = {
        {"Playlists", ACTION_MENU, new_itunes_plist, NOSETTING, 0},
        {"Artists", ACTION_MENU, new_itunes_artist, NOSETTING, 0},
@@ -169,9 +172,12 @@
        {"Songs", ACTION_MENU, new_itunes_track, NOSETTING, 0},
        {0, 0, 0}
 };
+#endif

 static struct menu_item main_menu[] = {
+#ifdef IPOD
        {"Music", SUB_MENU_HEADER, itunes_menu, NOSETTING, 0},
+#endif
        {"Extras", SUB_MENU_HEADER, extras_menu, NOSETTING, 0},
        {"Settings", SUB_MENU_HEADER, settings_menu, NOSETTING, 0},
        {"File Browser", ACTION_MENU, new_browser_window, NOSETTING, 0},

4) Make podzilla and, again, hope for the best:

make

Start it up

Make sure that your x-server is running and start podzilla.

Navigation



  • Google Search (http://www.google.com/custom?sa=Google+Search&cof=S%3Ahttp%3A%2F%2Fwww.ipodlinux.org%3BVLC%3Apurple%3BAH%3Acenter%3BBGC%3Awhite%3BLH%3A141%3BLC%3Ablue%3BL%3Ahttp%3A%2F%2Fipodlinux.org%2Fstylesheets%2Fimages%2Fwiki.png%3BALC%3Ablue%3BLW%3A128%3BT%3Ablack%3BAWFID%3A70a74ab66f4d59ae%3B&domains=ipodlinux.org&sitesearch=ipodlinux.org)