First, my apology to Stephen - I didn't surely intend to interfere
with your release policy for congruity, but I just needed a new version,
and mindlessly decided that I would do well enough to it to deserve
a new major number.
Since I already told everyone around here to please ignore my 
congruity8+ stuff, I shifted down to fractional 7.x versions,
so my final word (for the time) is now called congruity 7.4
(see follow-up message).

I have been busy this week (as long as I wasn't stuck at the TV
watching the Europe soccer championships..) switching back and
forth between WindowsXP and LINUX to get both concordance and 
congruity sources finally working in both environments, adding 
a few features and fixing some remaining bugs, removing warnings
by Visual C++ and trying to document the build process (and its 
traps) for Windows.

Concordance IR learning is now full interactive with navigation
back and forth trough the received command list and selection
to learn codes from other remote or read Pronto hex codes.

For congruity, I mostly had to fix the IR signal plot, which 
didn't work as well in Windows as in LINUX in the first version,
and, in the course of the action, added the option to zoom in/out
by left/right mouseclick.

I am closing this first message attaching my experiences of building 
concordance on WindowsXP with Visual C++ 2005 Express, accompanied by a tgz
archive of the win/concordance.sln and concordance/win/concordance.vcproj
files to include libIRremotes into the concordance VC++ project.

(tried .ZIP first, but apparently sourceforge doesn't like ZIP 
attachments...)

Andreas
Concordance build with MS Visual C++ 2005 Express Edition:
----------------------------------------------------------

Note: If want the latest and shiny, or just happen to have the
 DVD at hand (it has been published in some PC magazines recently),
 you may also get the 2008 Express edition, but AFAIR the 
 download is larger, and the 2008 will convert the project files
 to its new format. With a CD/DVD, just go ahead installing - 
 it should come ready with the SDK included.

Otherwise, you will need:

- MS Visual C++ 2005 Express Edition from Microsoft:
  http://www.microsoft.com/express/2005

  You will first get an installer of ~2MB, which, when launched, will get 
  the actual software of ~68MB.
  Adding Visual Studio  plus service pack 1 when you start Microsoft 
  update, which adds another 45MB.

  Note: You _MUST_ run the installer logged in as admin user, running it 
        logged in as normal user with 'runas' will not work.

- (parts of) the latest Windows SDK from:

  
http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&displaylang=en

  This will give you another installer of merely ~400k. Run it (logged in 
  as administrator) to install. It will initially offer you an impressive 
  1.2GB download - just may deselect everything, and then select just the 
  'Windows Headers and Libraries' section. This will strip the figure down 
  to acceptable 27.3MB.
  It may complain about .NET development tools not selected - adding them 
  would result in a total of 45.2MB (did that-who knows?).

  If you select the target directory for the install to 
    $(VCInstallDir)\PlatformSDK,
  Visual C++ may be happy already (didn't try that). Otherwise, you have to:

- include the SDK folders into Visual C++ 2005 Express Edition:

  - From the Visual C++ main menu, select Extra->Options
  - In the Options dialogue, select 'Projects and Project Folders
    ->VC++Folders'
  - Switch to 'Inlcude folders' and add the ...\include folder in the SDK 
    installation folder.
  - Same for 'library folders' and the SDK ...\lib folder

Now you should be set to compile concordance.

CVS for Windows:
----------------
If you want direct access to the concordance CVS from windows, you
will need a Windows CVS client. There may be some around - I myself 
have installed Tortoise CVS (http://www.tortoisecvs.org/).
In its extended settings panel (bottom line), you can select whether 
files from CVS shall be converted during checkout to DOS (CR/LF line 
terminator) or UNIX (LF line terminator) mode - you should select UNIX 
mode if you plan to apply patches that were created in a LINUX environment.


Build concordance from CVS:
---------------------------
- get concordance source from CVS (checkout or tarball, with concordance, 
  libconcord, consnoop and win subdirectories plus some files)
- double-click on win\concordance.dsw (VC++ 6 workspace file) to launch
  Visual Studio
- You will get several messages that a current .vcproj file already exists - 
  confirm with 'Yes' for each to load.
- In the toolbar, select whether to build a 'Debug' or 'Release' version.
- Select build->build project folder from the main menu
- After probably a few warnings, build should be complete and end up with
  concordance.exe and libconcord.dll in the win/Debug resp. win/Release folder.
- when you save the project, you will get a new file win\concordance.sln

Note that libconcord comes in two versions - _libusb and _winhid. Both build
a libconcord.dll and copy it to the concordance build directory, so you 
should remove the unused version from the project to end up with the right
one. The _winhid variant worked fine for me, so I removed the _libusb.

Applying patches:
-----------------
Applying patches produced on LINUX in a Windows environment may (i.e will)
cause trouble due to different line termination (LF vs. CR/LF).
As said above, if, like me, you use Tortoise CVS (http://www.tortoisecvs.org/),
you should set it to check out files from CVS in UNIX mode, and GNU patch
(http://www.gnu.org/software/patch/) should be happy - at least, it worked
for me this way.
In case of doubt, run as patch.exe --dry-run .... to see what might happen,
without actually doing anything.

Adding libirremotes:
--------------------
- unpack libirremotes-0.30.tar.gz to the concordance main folder (parallel
  to concordance and libconcord).
- rename directory from libirremotes-0.30 to just libirremotes.

- For concordance project: 
  - In the project tree, select concordance -> properties.
  - Open configuration -> C/C++ -> General
  - add ..\..\libirremotes to ..\..\libconcord in the additional include paths

- In 'Project->Project dependencies' : select that concordance depends on the 
two 
  libconcord instances and libirremotes, to ensure they are built first.

Note: you have to change the project properties for both 'Debug' and 'Release' 
mode!

- Or, just use the files win\concordance.sln and 
concordance\win\concordance.vcproj
  from the attached vcproj-20080615.zip instead of making he changes yourself.

Building concordance with libirremotes:
---------------------------------------
With libirremotes now properly included, you just have to select 
'Build-Project Folder' in Visual Studio.
libirremotes.dll should be built and copied to the concordance build
folder (concordance\win\Debug resp. ...\Release). With concordance
also rebuilt after applying the LearnIR/Pronto patch, you should be
ready to run and enjoy the new features of concordance.

Attachment: vcproj-20080615.tgz
Description: application/tgz

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
concordance-devel mailing list
concordance-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/concordance-devel

Reply via email to