Heinrich Taube wrote:
On Feb 29, 2008, at 3:00 PM, M. Edward (Ed) Borasky wrote:

Rick Taube wrote:
On Feb 29, 2008, at 9:28 AM, M. Edward (Ed) Borasky wrote:
It is 3.0.0, both in the Gentoo distro and what I used to build Grace. I couldn't figure out why the premake step wasn't finding the installed Chicken, so I just made a copy of it.
it will look for ../../../chicken  or /usr/local/{bin/lib}
you can specify some other place doing
  premake ... --chickendir /path/to/chicken
_______________________________________________
Cmdist mailing list
[email protected]
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
Ah ... so then I should use "/usr"

chicken's install normally puts it in /usr/local/bin, /usr/local/lib and /usr/local/include...if its in /usr/bin, /usr/lib and /usr/include then im not sure what do to other than edit my premake.lua (because its not there now) and change this:

package.includepaths = {juce_dir, "/usr/local/include" }

to

package.includepaths = {juce_dir, "/usr/local/include", "/usr/include" }

and then generate the Makefiles and see if that fixes it.
if it works let me know and ill check the fix into svn


It turns out that there are two "includepaths", one for GraceCL and one for Grace. I changed both of them and both GraceCL and Grace now build with the "native" apps.

Next question: now that I have a successful build, how do I "install" Grace? When I just start

"/grace/build/linux/build/Release/Grace/bin/grace", it complains that the application resource directory does not exist. Is there some way to get the whole tree into something under "/usr/local" with an "application resource directory" in my home directory?
addoption("release", "optional release number nnn (printed n.n.n)")
addoption("revision", "optional source revision number")
addoption("jucedir", "optional location of juce directory")
addoption("chickendir", "optional location of chicken directory")
addoption("csound", "build with csound support")

if (options["jucedir"]) then
   juce_dir = options["jucedir"]
else
   juce_dir = "../../../juce"
end

if (options["chickendir"]) then
   chicken_dir = options["chickendir"]
else
   chicken_dir = "../../../chicken"
end

source_dir = "../../src/"

gracecl_files = {"Buffer", "Console", "Editor", "Grace", 
                 "Layer", "Lisp", "Help", "Resources",
                 "Plotter", "Points", "Syntab", "Syntax"}

grace_files = {"Buffer", "ChickenBridge", "Console", 
               "Csound",
               "Editor", "Grace", 
               "Help", "Layer", "Midi", "MidiReceiveComponent", "Resources",
               "Plotter", "Points", "Scheme", "Syntab", "Syntax", "Toolbox"
            }

function source_files(files)
   local relative = {}
   for i,f in files do
      table.insert(relative, source_dir .. f .. ".h")
      table.insert(relative, source_dir .. f .. ".cpp")
   end
   return relative
end

function add_release_options()
   if (options["release"]) then
      table.insert(package.defines, "RELEASE=" .. options["release"] )
   end
   if (options["revision"]) then
      table.insert(package.defines, "REVISION=" .. options["revision"] )
   end
end

project.name = "GRACE"
project.bindir = "build"
-- hack: reorder configurations to make Release the default
project.configs = {"Release", "Debug"}

------------------------------------------------------------------------------
------------------------------- GraceCL Package ------------------------------
------------------------------------------------------------------------------

package = newpackage()
package.name = "GraceCL"
package.language = "c++"
package.kind = "exe"
package.files = { source_files( gracecl_files ) }
package.includepaths = {juce_dir, "/usr/local/include", "/usr/include" }
package.libpaths = {juce_dir .. "/bin", "/usr/local/lib", "/usr/lib" }
package.objdir = "build/gracecl.obj"

if (macosx) then
   package.config["Release"].target = 
"Release/GraceCL.app/Contents/MacOS/GraceCL"
   package.config["Debug"].target = "Debug/GraceCL.app/Contents/MacOS/GraceCL"
   package.defines = { "MACOSX=1" }
   package.links = {"juce -framework Carbon -framework CoreServices -framework 
CoreAudio -framework CoreMidi -framework ApplicationServices -framework OpenGL 
-framework AGL -framework QuickTime -framework IOKIT"}
elseif ( linux ) then
   package.config["Release"].target = "Release/GraceCL/bin/gracecl"
   package.config["Debug"].target = "Debug/GraceCL/bin/gracecl"
   package.defines = { "LINUX=1" }
   package.links = {"juce", "freetype", "GLU", "GL", "asound"}
elseif ( windows ) then
   package.config["Release"].target = "Release/GraceCL/GraceCL"
   package.config["Debug"].target = "Debug/GraceCL/GraceCL"
   package.defines = { "WINDOWS=1" }
end

add_release_options()

------------------------------------------------------------------------------
-------------------------------  Grace Package  ------------------------------
------------------------------------------------------------------------------

package = newpackage()
package.name = "Grace"
package.language = "c++"
package.kind = "exe"

--if ( options["csound"] ) then
---   table.insert(grace_files, "Csound")
--end

package.files = { source_files( grace_files ) }
package.includepaths = {chicken_dir, juce_dir, "/usr/local/include", 
"/usr/include" }
package.libpaths = {chicken_dir, juce_dir .. "/bin", "/usr/local/lib" }
package.objdir = "build/grace.obj"

if (macosx) then
   package.config["Release"].target = "Release/Grace.app/Contents/MacOS/Grace"
   package.config["Debug"].target = "Debug/Grace.app/Contents/MacOS/Grace"
   package.defines = { "MACOSX=1", "SCHEME=1" }
   frameworks = " -framework Carbon -framework CoreServices -framework 
CoreAudio -framework CoreMidi -framework ApplicationServices -framework OpenGL 
-framework AGL -framework QuickTime -framework IOKIT"
   if ( options["csound"] ) then
      frameworks = frameworks .. " -framework CsoundLib"
   end
   package.links = {"uchicken", "juce" .. frameworks}
elseif ( linux ) then
   package.config["Release"].target = "Release/Grace/bin/grace"
   package.config["Debug"].target = "Debug/Grace/bin/grace"
   package.defines = { "LINUX=1", "SCHEME=1"}
   package.links = {"chicken", "juce", "freetype", "GLU", "GL", "asound"}
   if ( options["csound"] ) then
      table.insert(package.links, "csound")
      table.insert(package.links, "sndfile")
   end
elseif ( windows ) then
   package.config["Release"].target = "Release/Grace/Grace"
   package.config["Debug"].target = "Debug/Grace/Grace"
   package.defines = { "WINDOWS=1", "SCHEME=1" }
end

if ( options["csound"] ) then
   table.insert(package.defines, "PORTCSOUND=1")
end

add_release_options()

-- EOF

Reply via email to