mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 10:07:14 +02:00
Fix #28: bug with code builder and built-in Arduino libraries
This commit is contained in:
@ -16,6 +16,8 @@ Release History
|
|||||||
* Refactored *Package Manager*
|
* Refactored *Package Manager*
|
||||||
* Download Manager: fixed SHA1 verification within *Cygwin Environment*
|
* Download Manager: fixed SHA1 verification within *Cygwin Environment*
|
||||||
(`issue #26 <https://github.com/ivankravets/platformio/issues/26>`_)
|
(`issue #26 <https://github.com/ivankravets/platformio/issues/26>`_)
|
||||||
|
* Fixed bug with code builder and built-in Arduino libraries
|
||||||
|
(`issue #28 <https://github.com/ivankravets/platformio/issues/28>`_)
|
||||||
|
|
||||||
0.8.0 (2014-10-19)
|
0.8.0 (2014-10-19)
|
||||||
------------------
|
------------------
|
||||||
|
@ -67,9 +67,9 @@ def BuildDependentLibraries(env, src_dir):
|
|||||||
deplibs = env.GetDependentLibraries(src_dir)
|
deplibs = env.GetDependentLibraries(src_dir)
|
||||||
env.Append(CPPPATH=[join("$BUILD_DIR", l) for (l, _) in deplibs])
|
env.Append(CPPPATH=[join("$BUILD_DIR", l) for (l, _) in deplibs])
|
||||||
|
|
||||||
for (libname, lsd_dir) in deplibs:
|
for (libname, inc_dir) in deplibs:
|
||||||
lib = env.BuildLibrary(
|
lib = env.BuildLibrary(
|
||||||
join("$BUILD_DIR", libname), join(lsd_dir, libname))
|
join("$BUILD_DIR", libname), inc_dir)
|
||||||
env.Clean(libname, lib)
|
env.Clean(libname, lib)
|
||||||
libs.append(lib)
|
libs.append(lib)
|
||||||
return libs
|
return libs
|
||||||
@ -93,19 +93,24 @@ def GetDependentLibraries(env, src_dir):
|
|||||||
|
|
||||||
def ParseIncludesRecurive(env, regexp, source_file, includes):
|
def ParseIncludesRecurive(env, regexp, source_file, includes):
|
||||||
matches = regexp.findall(source_file.get_text_contents())
|
matches = regexp.findall(source_file.get_text_contents())
|
||||||
for inc_name in matches:
|
for inc_fname in matches:
|
||||||
if inc_name in includes:
|
if inc_fname in includes:
|
||||||
continue
|
continue
|
||||||
for lsd_dir in env['LIBSOURCE_DIRS']:
|
for lsd_dir in env['LIBSOURCE_DIRS']:
|
||||||
lsd_dir = env.subst(lsd_dir)
|
lsd_dir = env.subst(lsd_dir)
|
||||||
if not isdir(lsd_dir):
|
if not isdir(lsd_dir):
|
||||||
continue
|
continue
|
||||||
for libname in listdir(lsd_dir):
|
for libname in listdir(lsd_dir):
|
||||||
inc_path = join(lsd_dir, libname, inc_name)
|
inc_dir = join(lsd_dir, libname)
|
||||||
if not isfile(inc_path):
|
inc_file = join(inc_dir, inc_fname)
|
||||||
|
if not isfile(inc_file):
|
||||||
|
# if source code is in "src" dir
|
||||||
|
inc_dir = join(lsd_dir, libname, "src")
|
||||||
|
inc_file = join(inc_dir, inc_fname)
|
||||||
|
if not isfile(inc_file):
|
||||||
continue
|
continue
|
||||||
includes[inc_name] = (len(includes) + 1, libname, lsd_dir)
|
includes[inc_fname] = (len(includes) + 1, libname, inc_dir)
|
||||||
env.ParseIncludesRecurive(regexp, env.File(inc_path), includes)
|
env.ParseIncludesRecurive(regexp, env.File(inc_file), includes)
|
||||||
|
|
||||||
|
|
||||||
def VariantDirRecursive(env, variant_dir, src_dir, duplicate=True):
|
def VariantDirRecursive(env, variant_dir, src_dir, duplicate=True):
|
||||||
|
Reference in New Issue
Block a user