<br><br><div class="gmail_quote">2011/7/14 Mattias Gaertner <span dir="ltr"><<a href="mailto:nc-gaertnma@netcologne.de">nc-gaertnma@netcologne.de</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<u></u>
  
    
    
  

  <div>
    <p style="margin: 0px;"><span> </span></p>

    <p style="margin: 0px;"> </p>

    <div style="margin: 5px 0px;">
      <br>
       Frank Church <<a href="mailto:vfclists@gmail.com" target="_blank">vfclists@gmail.com</a>> hat am 14. Juli 2011 um 10:11 geschrieben:<br>
      <br>

      <blockquote style="margin-left: 0px; padding-left: 10px; border-left: 1px solid blue;" type="cite">
        [...]<br>

        <div class="gmail_quote">
          <blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
            <div class="gmail_quote">
              <div>
                <blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">
                  <div>
                    > If you are using different Lazarus versions but with same components and<br>
                     > packages, how would you organize separate build directories for the<br>
                     > different versions, but same source location.<br>
                     >
                  </div></div><div class="im">There are many ways.<br>
                   For example use one lazarus config directory for each version<br>
                   combination and make all package output directories read only. Then the<br>
                   IDE will put the ppu files into the config directory.<br>
                  <br>
                  <br>
                </div></blockquote>
              </div><div class="im">

              <div>
                <br>
                 Can this be achieved via macros?
              </div>
            </div></div>
          </blockquote>
        </div>
      </blockquote>
    </div>

    <p style="margin: 0px;"> </p>

    <p style="margin: 0px;">There is no macro to make directories read only. </p><div class="im">

    <p style="margin: 0px;"> </p>

    <p style="margin: 0px;"> </p>

    <div style="margin: 5px 0px;">
      <blockquote style="margin-left: 0px; padding-left: 10px; border-left: 1px solid blue;" type="cite">
        <div class="gmail_quote">
          <blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
            <div class="gmail_quote">
              <div>
                <br>
                  For instance I have just posted a blog article on FPC/Lazarus compilaton at <a href="http://devblog.brahmancreations.com/content/build-scripts-for-installing-freepascal-and-lazarus-from-source" target="_blank">http://devblog.brahmancreations.com/content/build-scripts-for-installing-freepascal-and-lazarus-from-source</a>, and what I want to do is to have the build_name variable as available to the IDE.<br>

                <br>
                 e.g if a lazarus build is named lazarus_0920_27001, I would like to use a macro based on the package name as well as the lazarus build name, so the compiler knows that units for zeoslib for instance go to directory /components/lazarus_0920_27001/zeoslib.
              </div>
            </div>
          </blockquote>
        </div>
      </blockquote>
    </div>

    <p style="margin: 0px;"> </p>

    </div><p style="margin: 0px;">The solution I gave puts the package files in $(PrimaryConfigPath)/lib/$(PkgName)/something, for example</p>

    <p style="margin: 0px;">/components/lazarus_0920_27001/lib/zeoslib</p>

    <p style="margin: 0px;"> </p></div></blockquote><div><br>Your solution did not indicate that an every package would have its own directory created for it under the PrimaryConfigPath, I thought they would all be dumped into a single directory.<br>
 </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div>

    <p style="margin: 0px;">The 'something' depends on a few things. Someone said that there is a bug in some cases. </p><div class="im">

    <p style="margin: 0px;"> </p>

    <p style="margin: 0px;"> </p>

    <div style="margin: 5px 0px;">
      <blockquote style="margin-left: 0px; padding-left: 10px; border-left: 1px solid blue;" type="cite">
        <div class="gmail_quote">
          <blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
            <div class="gmail_quote">
              <div>
                <br>
                 Even if the package sources must be modified that should be a minor problem.
              </div>
            </div>
          </blockquote>
        </div>
      </blockquote>
    </div>

    <p style="margin: 0px;"> </p>

    </div><p style="margin: 0px;">If you want to change the lpk files, then you can of course specify whatever you wish. </p>

    <p style="margin: 0px;"> </p>

    <div style="margin: 5px 0px;">
      <blockquote style="margin-left: 0px; padding-left: 10px; border-left: 1px solid blue;" type="cite">
        <div class="gmail_quote">
          <blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
            <div class="gmail_quote">
              <div>
                [...]
              </div>
            </div>
          </blockquote>
        </div>
      </blockquote>
    </div><div class="im"><br>

    <div style="margin: 5px 0px;">
      <blockquote style="margin-left: 0px; padding-left: 10px; border-left: 1px solid blue;" type="cite">
        I am looking at <a href="http://wiki.lazarus.freepascal.org/IDE_Macros_in_paths_and_filenames" target="_blank">http://wiki.lazarus.freepascal.org/IDE_Macros_in_paths_and_filenames</a> and I am considering using a combinatin of PrimaryConfigPath and  package name to set the output directory.<br>

        <br>
         

        <ul>
          <li>
            <b>Package macros</b> - these can be used in the fields of a package. For example in the search paths of a package. To use them elsewhere give a package name as parameter. 

            <ul>
              <li><b>PkgDir()</b> - macro function for the directory (location of the .lpk) of a package ID given as parameter</li>

              <li><b>PkgIncPath(id)</b> - macro function for the include path of a package ID given as parameter</li>

              <li><b>PkgOutDir(id)</b> - macro function for the output directory of a package (e.g. where the ppu files are created)</li>

              <li><b>PkgSrcPath(id)</b> - macro function for the source path (unit path + src path) of a package ID given as parameter</li>

              <li><b>PkgUnitPath(id)</b> - macro function for the unit path of a package ID given as parameter</li>
            </ul>
          </li>
        </ul>
      </blockquote>
    </div><br>

    <div style="margin: 5px 0px;">
      <blockquote style="margin-left: 0px; padding-left: 10px; border-left: 1px solid blue;" type="cite">
        However there doesn't seem to be a macro for the package name itself in the package related macros.
      </blockquote>
    </div>

    <p style="margin: 0px;"> </p>

    </div><p style="margin: 0px;">I added a PkgName.</p><div class="im">

    <p style="margin: 0px;"> </p></div></div></blockquote><div>Is it avaiable in 0.9.30 fixes? Are some of the new 0.9.31 backported to fixes? <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div class="im">
    <br>

    <div style="margin: 5px 0px;">
      <blockquote style="margin-left: 0px; padding-left: 10px; border-left: 1px solid blue;" type="cite">
        I'd like to use a combination of ConfPath or PrimaryConfigPath or the FallBackOutputRoot to handle the issue.<br>
        <br>
         Something like PrimaryConfigPath\NameOnly(packagepath)\lib/$(TargetCPU)-$(TargetOS) would be ideal.
      </blockquote>
    </div>

    <p style="margin: 0px;"> </p>

    </div><p style="margin: 0px;">That's almost the default for read only packages. Why not simply use the default?  </p><div class="im">
    <br></div></div></blockquote><div>Does the original <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div class="im">

    <div style="margin: 5px 0px;">
      <blockquote style="margin-left: 0px; padding-left: 10px; border-left: 1px solid blue;" type="cite">
        Do ConfPath and PrimaryConfigPath refer to the same thing?
      </blockquote>
    </div><br></div>
    What is ConfPath?<br>
    <br></div></blockquote><div><br>I meant ConfDir and PrimaryConfigPath<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div>
    Mattias<br>
    <br>
  </div>
<br>--<br>
_______________________________________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus.freepascal.org">Lazarus@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus</a><br>
<br></blockquote></div><br><br clear="all">Is it possible to create new user defined macro variables for the IDE?<br><br>Thanks<br><br><br>-- <br>Frank Church<br><br>=======================<br><a href="http://devblog.brahmancreations.com">http://devblog.brahmancreations.com</a><br>